Content atomization

ABSTRACT

Organizing and publishing content in a content management system wherein content, including text, images and video, is received and segmented into content atoms. One or more tags are associated with the content atoms to allow device specific presentation of the content atoms.

FIELD OF THE DISCLOSURE

This application claims the benefit of U.S. Provisional Patent App. No.62/339,750, filed May 20, 2016, the disclosure of which is herebyincorporated in its entirety.

This disclosure is directed to content management systems andparticularly to systems and methods for ingesting, packaging, routing,modifying, and publishing content in modular pieces or atoms.

BACKGROUND Related Art

Content management systems or CMSs, are typically employed to store,organize, manage, and publish content, such as video, images, texts,audio, etc. Current CMSs are utilized for news reporting, to runwebsites supporting blogs, as data depositories, and for other similarcontent management applications. CMSs enable users to control contentthat is presented, for example, on one of a variety of channels such asweb pages, via device specific interfaces or operating systems, such asIOS and Android, etc., in an easier way, than for example, coding thepresentations manually.

However, current CMSs fail to provide integrated services to enableusers to easily configure and customize presentations for a large numberof web pages or properties. Current CMSs also do not provide anintegrated way to organize, publish, and link inter-related mixed-mediacontent across multiple devices. Accordingly, there is a need for abetter content management system.

SUMMARY OF FEATURES OF THE DISCLOSURE

The described systems and methods address one or more of thedeficiencies noted above with existing content management systems. Thedigital media integration exchange system or platform (MIX Platform)described herein may provide one or more of the following features.

INTEGRATED SYSTEM INNOVATIONS AND FEATURES

The MIX platform can provide a novel integration of live videoprocessing and ingestion, live content and media feed ingestion, ad hocmedia uploading and provisioning, property (e.g., website)configuration, content tagging, production, and publishing mechanisms ina uniquely integrated flow or process that supports comprehensiveintegration with live/linear video production and coverage from anysource, large-scale publishing across multiple brands at scale, and setup and control of multi-channel (web, mobile, OTT, native applications,etc.) across a single unified workflow.

The described system enables users to create properties and structuresof information organization for a brand (i.e. KOMO News, Hometown Live,etc.) and store these structures in a database that is not directly tiedto a specific channel, content, or package.

The described system enables users to create property structuretemplates and to lock aspects of the settings and hierarchy in order toallow replication of standards of look and feel, organization, and to anextent, content structure across multiple properties using the samestructure as a property itself.

The described system can store a full copy of each property, propertytemplate, and a known differentiation between each property and itslinked property template, allowing templates to be revised andoptionally re-applied to all linked properties on a one-by-one, all, oron a part-by-part basis.

The described system supports the automatic discovery of tags on allcontent (copy, video, audio, etc.) via semantic analysis,interpretation, and cataloging of tags as they are discovered, and canautomatically infer tags based on relationships within packages toensure all content of all kinds have topical tagging without userintervention.

The system supports a layered construct for presentation definitionwhich enables technology agnostic creation of detailed presentationinstructions that include simple “Presentation Layouts” that contain nocontent, instructions, or components, “Presentation Templates” thatdeclare some settings and place some named components and componentsettings (these do not render without some changes usually),“Presentations” that contain layout instructions, content filters,component placements, and component settings specific to a type ofproperty (section, screen, page, etc.), and “Presentation instructions”that contain all of the above and the appropriate content to be injectedinto named components at run-time—all based on the same structure.

The system supports storing presentations outside of the database infiles at the Layout, Presentation Template, and Presentation levels, andthe generation and storage of known differences between a Presentationand its linked Presentation Template. This enables the full copying ofthese assets from one environment to another by copying the filestructures alone and providing the option of updating presentationsbased on a common template by updating the template and re-applyingdifferences. This also enables the system to fail at re-applyingtemplates gracefully by leaving the old presentation in place in fulland to perform template-to-presentation synchronization offline forperformance reasons.

The system also supports routing of content to presentations via namedfilters that define full Boolean searches driven primarily by contenttagging and publish time limits (but not only) wherein named filters arereferenced in the presentation or presentation template and may beedited or altered offline without a change to the presentation,effectively altering the publishing process.

The system will provide all configured sections of a brand-levelproperty for targeting in both primary targeting and syndicationprocesses automatically, allowing explicit targeting by a user of aspecific brand and location and will store this intent with every useraction and save. The system uses the first filter-driven component ofeach section's mapped default presentation to derive which contextualtags should be implied from an explicit targeting or syndication actionand will apply these tags to the package and all content added duringpackage publishing to ensure at least a base level of contextual taggingfor all content and ensure placement of content on the desired page.

The described system is able to render previews of sections and contentdisplay presentations for all target properties and channels from withinthe publishing interface in reaction to changes in tagging, targeting,content, and renditions of content before publication and leveraging thesame code (or web-based equivalent code) that produces the finalaudience-side rendering, ensuring 100% fidelity with the actual endresult.

The described system leverages the same rendering code to enable visualconfiguration of presentations (or web-based equivalent code)

COMPONENT STRUCTURE INNOVATIONS AND FEATURES

The MIX Platform can support the development of web-based renderingcomponents that are either intended for web-based content rendering orto emulate content rendering on another device (mobile, OTT, and otherapplications) using a simple file structure and deployment processunique to the platform.

A single directory may house all known rendering components and containsdirectories for all known component type groupings, containing all namedcomponents, containing multiple historical versions of the component,which in turn contain all proprietary files that generate and supportgeneration of the component and a resources folder that contains staticfiles that support the component at run-time after rendering of apresentation.

A compilation and publishing process may enable a local component filestructure on a local machine to be compressed, compiled, obfuscated, anddeployed to a running MIX Platform to affect changes to presentationsacross multiple defined properties as needed.

A versioning system that enables some properties to use newer versionsof an existing component while others use previously defined versions ofcomponents for use in A/B testing, incremental rollouts, and rapidrollback (among other uses) wherein the code for all versions past isstill present in the deployed structure.

The described system may provide the capability to replicate a deployedcomponent set from one instance of the MIX Platform to another by simplycopying the deployment directories from one instance to another.

A separate directory structure for static resources and rendering codeat deployment time may enable the renderer to cache and leverage ContentDistribution Networks for files that don't drive dynamic rendering ofcontent, all maintained automatically by the compilation and deploymentprocess above.

The described system may provide the capability to configure alternativechannel versions of each web component for rendering alternative channelcontent wherein a directory for each channel mirrors the main componentdirectories and provides alternative component code snippets that eitherconform to the rendering structure or are simply aggregations of nativeapplication code.

Tools built into the services and application may enable the MIXPlatform to automatically react to changes in the component filestructures at run-time and provide newly published components andcomponent groups immediately for use in web-based presentation buildinginterlace for placement and configuration without use of any databasetables or relationships at all. This means the system reacts to new codeas it is published without database changes, updates, or restarts of thesystem and changes can take effect immediately as new code is published.

CONTENT ATOMIZATION

In an environment where content is increasingly mixed-media and intendedto tell a story across multiple devices, including: desktop web, mobileweb, mobile apps, streaming device apps, and on television, the abilityto produce and manage content and media in modular pieces and to marrythat content with various renditions for each device is critical tosuccess in a media brand. In a similar way as a television news programis broken down into its constituent parts (media assets, timing,meta-data, voice-overs, shots, etc.,) to produce a whole program,producers can greatly benefit from having the ability to break downdigital content similarly at the asset level in order to produce acompelling experience across devices, allow users to re-enter thestorytelling across devices, and control rights and updates acrosschannels effectively.

Described herein is a system or sub-system of a Content managementsystem (CMS) or digital media integration exchange system or platform(MIX Platform), which may be referred to herein as an atomizationengine, for modular mixed media content production and distribution.This system or sub-system automatically breaks a standard digitalarticle (including its media) down into succinct, optimized chunks ofinformation (words and meta-data) based on text length, media assetassociations, and basic semantic analysis. Each piece of content,referred to as an atom, is separated and produced/designed to convey asingle thought or concept in the flow of a longer narrative and isdesigned to package that thought with a specific type of mediadecoration as it pertains to that thought or concept. Each atom has aspecific, registered type that associates the atom with textuallimitations, specific production modules for embedding media types thatinclude but are not limited to: YouTube embeds, Facebook embeds, Twitterembeds, video assets, images and image galleries, polls, quizzes, maps,and other social media and media references. Each atom may be connectedto specific modular tools for the production of the assets andconfigured rendering components for each atom type on each target devicedesigned to create an optimized experience per device. Producers usingthe system may paste standard written copy (e.g., text) into the tooland attach media and allow the atomization engine to break down thecontent into basic, logical text-based units automatically. The producermay then select a specific mixed-media atom type and associate mediawith each block of text, manipulate the atom breaks manually, and thenpreview the overall experience without leaving the tool to ensure asmooth narrative experience.

The system enables new atom types to be defined through configuration,associating one or more client-side rendering modules per atom type andper target device. Each native application or web experience haspre-built, named modules that may be referenced in the atom typeconfiguration. The rendering engine and service APIs that providecontent to the various platforms may return content, media assets, andmeta-data to the client application along with the mixed modules inorder to drive the user experience. This allows the client-sideapplication to operate in a native manner without knowledge of theconfigured atom types on the server side and to provide a multiplicativenumber of potential user experiences with a limited number of visualcode components, each designed to deliver a specific experience on adevice for a specific type of embedded media and/or text. The productiontools may similarly be extensible to allow additional media types to beadded to the atom configuration without altering the core productionworkflow.

In this system, a “package” may be defined as a collection of atoms witha single narrative purpose, title, primary topical tag, social mediahash tag, and/or collected meta-data. In turn, each atom has it's ownmeta-data, topical tags, related links, associated media, and date andtitle information. This allows the producer to tell a timeline-basedstory, provide specific hints as to the content housed in each atom, andto structure the storytelling in a way that allows users to re-enter thecontent later through a table of contents or index. The system may beconfigured to provide content updates, such that when stories update,users who have followed the granular primary story topic may receivenotifications that changes have occurred and may re-enter thestorytelling on any device at the specific atom that constitutes theupdate. Because these follow topics are separate from the package itselfand may be re-used, following an individual story may immediately becomefollowing an ongoing storyline, allowing producers to continue a storyin a new package or in the current package interchangeably as the storyevolves. In either case, users who have followed the topic may receiveupdates and be encouraged to re-engage or re-enter the narrative.

Because media and words are associated in a narrative flow under eachpackage, the rendering engine enables an entire package (or a portion ofthe package) to be automatically rendered to a video with word overlaysand embedded media to tell the story visually. The video renderingsystem allows text-based stories to be consumed via a primarilyvideo-based experience easily or as a read article without alteration ofthe content structure. Examples of this kind of visual storytelling arecurrently available, but these types of production and translations aretypically done manually and not automatically or at scale.

The atomized breakdown of a package may be represented as a looselystructured document, allowing the entire structure of atomization,embedding support, and other aspects of the structure to flex over timeto support change. This document may be represented as JSON (JavaScriptObject Notation) but could easily move to any loosely structureddocument representation such as XML. In one aspect, the structure may bestored in a relational database. In other aspects, the structure maywork effectively in a NOSQL implementation or in a hybrid RDBMS andNOSQL implementation as well.

In some aspects, the system enables explicit relational tagging of onepackage or atom to another as part of the atom authoring experience.Atoms or packages may be referenced from within an atom explicitly,allowing producers to create a mosaic of storytelling that iscross-referenced, externally referencing, and re-entrant. Because theserelationships may be linked on a per-atom basis and by uniqueidentifier, the system is capable of producing extensive content graphsthat align to portions of one package related to another and tocorrelate content popularity, topical strength, and other key metricsalgorithmically across packages without complex semantic analysis orlink analysis. Relational tagging also enables content relationships tobe represented across devices at a very granular level, regardless ofwhether the device or application supports HTML5 HREF links. Thisstructure also enables related link rendering to be independent ofcontent structure and for certain portions of text to reference contentlinks in a hyper-link like way separate from the rendering structure,again without explicit HTML parsing. The rendering structure alsoenables these related links to be derived automatically without explicitintervention by the producer and to be shown to end users without anyclear differentiation between automatically derived and explicitlylinked relationships and without any change to the rendering modules oneach client platform. In one example, all of this may be doneserver-side without impact to the client applications as desired tooptimize the user experience.

Additional features, advantages, and embodiments of the disclosure maybe set forth or apparent from consideration of the following detaileddescription, drawings, and claims. Moreover, it is to be understood thatboth the foregoing summary of the disclosure and the following detaileddescription are exemplary and intended to provide further explanationwithout limiting the scope of the disclosure as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are included to provide a furtherunderstanding of the disclosure, are incorporated in and constitute apart of this specification, illustrate embodiments of the disclosure andtogether with the detailed description serve to explain the principlesof the disclosure. No attempt is made to show structural details of thedisclosure in more detail than may be necessary for a fundamentalunderstanding of the disclosure and the various ways in which it may bepracticed. In the drawings:

FIG. 1 shows an example digital media integration exchange system,according to the principles of the disclosure.

FIG. 2 shows an example system architecture of the digital mediaintegration exchange system of FIG. 1, according to the principles ofthe disclosure.

FIGS. 3A, 3B, and 3C show an example data model of the system of FIG. 1,according to the principles of the disclosure.

FIG. 4 shows a block diagram of an example process for packaging contentand associating the packaged content with a section or property,according to the principles of the disclosure.

FIG. 5 shows a block diagram of an example process for rendering apackage associated with a section, according to the principles of thedisclosure.

FIG. 6 shows a block diagram of an example system for configuring apresentation of content, according to the principles of the disclosure.

FIG. 7 shows a block diagram of an example process for building apresentation of content via configuring a component, according to theprinciples of the disclosure.

FIG. 8 shows a flow block diagram of an example process for creating acomponent with resulting effects on specific data structures of thecomponent, according to the principles of the disclosure.

FIG. 9 shows a flow diagram of an example process of configuring acomponent and previewing content rendered by the component, according tothe principles of the disclosure.

FIGS. 10A, 10B, and 10C show a flow block diagram of an example processfor publishing a component and the associated interactions with assetsof the component, according to the principles of the disclosure.

FIGS. 11A, 11B, and 11C show block diagrams of example processes forsetting up a brand template, configuring a brand or site, and publishingcontent, according to the principles of the disclosure.

FIG. 12 shows a flow block diagram of an example process for creating abrand-level property, according to the principles of the disclosure.

FIGS. 13A and 13B show example interfaces for editing and managing aproperty, according to the principles of the disclosure.

FIG. 14 shows an example interface for and configuring a theme,according to the principles of the disclosure,

FIG. 15 shows a flow block diagram of an example process for configuringa presentation, according to the principles of the disclosure.

FIG. 16 shows an example interface for editing a presentation, accordingto the principles of the disclosure.

FIG. 17 shows a block diagram of an example interface for editing andpublishing content, according to the principles of the disclosure.

FIGS. 18A and 18B show a flow block diagram of an example end to endoperation of the digital media integration exchange system of FIG. 1,according to the principles of the disclosure.

FIG. 19 illustrates an example computer network or similar digitalprocessing environment 1900 in which one or more aspects of the digitalmedia integration exchange system of FIG. 1 may be implemented,according to the principles of the disclosure.

FIG. 20 illustrates a block diagram 2000 of the internal structure of acomputing device in which one or more aspects of the digital mediaintegration exchange system of FIG. 1 may be implemented, according tothe principles of the disclosure.

FIGS. 21, 22, and 23 show an example data model of the structure of acontent atom and atom package.

FIG. 24 shows an example block diagram of a system for publishingatomized content.

FIG. 25 shows a flow block diagram of an example process for productionof an atom package.

FIG. 26 shows a flow block diagram of an example process for productionof an atom package in a storyline.

FIG. 27 shows a flow block diagram of an example process for renderingan atom package.

FIG. 28 shows a flow block diagram of an example process for renderingan atom package in a storyline.

FIG. 29 shows a block diagram of a system for sending content updatealerts to one or more client devices.

FIG. 30 shows a flow block diagram of an example process for publishingatom package alerts.

FIG. 31 shows a block diagram of a system for customizing theme,navigation, and/or configuration for various contentapplications/presentations.

FIG. 32 shows a block diagram of a system for integrating video intoatomized content.

FIG. 33 shows a block diagram of a system for transforming media intoone or more video presentations.

FIG. 34 shows a flow block diagram of another example process forpublishing atom package alerts.

PAX API documentation illustrates example API calls that enable one ormore of the actions/processes described in previous Figures.

Storyline Atom Publishing screens illustrate 44 example screen shotstaken from an example storyline atom publishing user interface.

Atom Publishing 1.1 screens illustrate 5 example screen shots taken froman example atom publishing user interface.

Master Prototype ® Circa screens illustrate 87 example screen shots froma user interface for accessing atomized content.

CircaDesktop Experience screens illustrate 14 example screens from adesktop user interface for accessing atomized content.

Circa Mobile Web screens illustrate 14 example screens from a mobile webuser interface for accessing atomized content.

Circa Tablet Experience screens illustrate 14 example screens from atablet user interface for accessing atomized content.

DETAILED DESCRIPTION OF THE DISCLOSURE

The embodiments of the disclosure and the various features andadvantageous details thereof are explained more fully with reference tothe non-limiting embodiments and examples that are described and/orillustrated in the accompanying drawings and detailed in the followingdescription. It should be noted that the features illustrated in thedrawings are not necessarily drawn to scale, and features of oneembodiment may be employed with other embodiments as the skilled artisanwould recognize, even if not explicitly stated herein. Descriptions ofwell-known components and processing techniques may be omitted so as tonot unnecessarily obscure the embodiments of the disclosure. Theexamples used herein are intended merely to facilitate an understandingof ways in which the disclosure may be practiced and to further enablethose of skill in the art to practice the embodiments of the disclosure.Accordingly, the examples and embodiments herein should not be construedas limiting the scope of the disclosure, which is defined solely by theappended claims and applicable law. Moreover, it is noted that likereference numerals represent similar parts throughout the several viewsof the drawings.

Aspects of the disclosure may be implemented in any type of computingdevice or combinations of computing devices, such as, e.g., a desktopcomputer, personal computer, a laptop/mobile computer, a personal dataassistant (PDA), a mobile phone, a tablet computer, a cloud computingdevice such as a virtual machine or virtual instance, one or morehardware or virtual servers, and the like, with wired/wirelesscommunications capabilities via the communication channels.

1. DIGITAL MEDIA INTEGRATION EXCHANGE SYSTEM OVERVIEW

Managing and controlling the seamless production of digital media assetsor content and their cross-channel and cross-property distributionacross a complex, interactive, digital property network may be enabledby a globally deployed, distributed system capable of unifying diversetechnical solutions that are constantly evolving and changing, asdescribed in further detail herein. These solutions include but are notlimited to those that enable the seamless and integrated ingestion,processing, archival, manipulation, and packaging of live and previouslyrecorded video content, archived and continuously updating images (e.g.,photos and artwork), multi-form structured data (e.g., detailed weatherreports, sports scores, and statistical analyses), general formattedtext and copy, etc. The described solutions and systems provide forcontinuous processing, storage, production, packaging, and distributionof content in a simple, flexible, and integrated workflow. This workflowenables editors to visually manipulate user experiences, contentpackaging, tailoring of content package renditions, representations, andreferences by channel and interact with content optimization processesat scale. These features are vital to continuously adapting to the needsof an evolving media audience and to ensuring the best integratedexperience across web, mobile, social, and over-the-top (OTT) orinteractive large (e.g. 10 feet) television experiences, and otherelectronic presentation devices, formats, etc.

The techniques and systems described herein enable the management ofbrand-level properties that represent cross-channel contentorganizations supporting the simple publication of packaged media tospecific audiences, assisting audiences and users, via intuitive andintegrated interfaces, in the navigation and discovery of new andpreviously published content, and dictating the visual user experienceacross web, mobile, OTT, and other interactive digital channels for thesame and different brands. The techniques and systems described hereinmay ensure a consistent brand experience from a brand look and feel,content organization, and interactive experience standpoint and mayenable executive producers and editors to manage the configuration ofthese properties visually across channels, including the integration oflive content, thus providing a competitive advantage to each brand. Abrand manager can easily, using the described content manipulation andpublishing system, visually structure the brand focuses or contentfranchises, tailor web, mobile, and other experiences visually, previewavailable content for each area or sub-area, and drive the publishing,preview, and audience experience seamlessly from a single interface. Oneor more of these features may be provided by a sophisticated userinterface and system capable of managing multiple properties across anetwork, re-using interface components across channels, representingeach in a web-based user interface for brand managers and content/mediaproducers, and tailoring the delivery of content to the audience withinthe configured parameters.

In a large-scale, multi-platform network environment, the production ofcontent encompasses multiple distributed media production facilities,studios, and television distribution platforms for over-the-air andcable and multichannel video programming distributor (MVPD) lineardistribution. These characteristics of content production presentadditional challenges to content publishing systems. The describedsystems may work seamlessly with the production of video and content forlinear distribution, integrate with master control production systemsand programming production systems, and enable digital properties tomirror and react to live and pre-produced programming to provide acomplimentary content experience. To accomplish this integration,physical wiring, virtualized web services, and process integrations withthe natural flow of linear media production that integrate seamlesslyinto the digital content production flow and the audience experiencesare provided. These solutions include but are not limited to providingweb-based services that tell digital producers and client systems whenprogramming of a certain type is on-air, in commercial break, beingoverridden, etc. This process also involves the integration of thebroadcast air-chain, closed caption information (as it streams), audiofingerprint and content recognition (e.g., speech recognition), anddigital rights management into the digital production process.Innovations in this part of the system streamline the production ofdigital live simulcast content with television experiences, enableautomated categorization, clipping, indexing, and repurposing of contentin near real-time, and allow for the routing of digital content from oneor more sources into the air chain or into production support systemsthat appear on-air (i.e., over-the-shoulder displays for news and otherprogramming) as needed.

The described system additionally provides ample services for measuringthe consumption of media by both anonymous and registered users based oncontent placement, time, and contextual analysis. The system measuresengagement and builds aggregate profiles across user groups to enablecontinuous optimization for delivery of digital content to eachindividual or the optimization of content production (i.e. contentbounties or tailoring) based on past performance and content profiling.The integration of the measurement feedback loop into the brand propertyset-up, advertising configuration, and content production process inshort (e.g., less than 30 minutes), medium (intraday), and long-termplanning activities within the system provide differentiation to a largescale media company (or a small one) using the platform by helping toincrease audience, improve engagement, and reduce the time and costrequired to react to shifts in audience behavior, desires, and needs.

2. SYSTEM STRUCTURE

One or more aspects of the described digital media integration exchangesystem can be implemented on a variety of computing devices or nodes,including multiple nodes geographically distinct from each other. Insome aspects, one or more servers (hardware or virtualized instances)may provide the features and functionality described herein. In someaspects, one or more features of the system may be distributed acrossmultiple nodes, including utilizing web and virtual services, such asAmazon Web Services (AWS).

One example implementation of the digital media integration exchangesystem or MIX platform 100, configured to provide one or more of thedescribed features, is illustrated in FIG. 1. Content of various types,size, etc., may be received or ingested by a master control 105, forexample from on-the-air broadcasters (e.g., news channels or broadcasts,or other content broadcasts), or other content sources. In some cases,the content received may be previously recorded content, such asVideo-on-Demand (VOD), weather reports, new stories including text andimages, etc. The master control 105 may passively receive content, ormay actively search for and retrieve content.

The master control 105, which may be implemented in dedicated hardware,software, or a combination thereof, may provide the received orintercepted content to an encoder or encoding system 110, which may thensend the content to one or more virtual or cloud based computingresources 115. The encoder 110 may modify, organize, manage, etc., thecontent in any of a number of ways, as will be described in greaterdetail below. The encoder 110 may implement software 112 specificallyconfigured to enable the modification of the content, as will also bedescribed in greater detail below. In some aspects, SW 112 may includecustom video processing and slicing software (VPSC) capable oftransmitting slicing events and accepting MPG4 encoding changes asneeded. The VPSC custom software 112 may encode meta-data in existingMPG4 formats or other formats custom to knowing start and end of programand other data. In one example, the content may be received by theencoder 110, over a serial digital interface (SDI), processed by SW 112,and subsequently sent to an one or more computing resources, such as oneor more virtual or cloud resources 115. The virtual resources mayinclude an uplink or input component 120, which may receive content andcommunicate the received content to a content delivery network 130and/or one or more storage components 125. In some aspects, one or morevirtual or cloud components 120, 125, 130, may be managed or implementedby a service, such as AWS 175. One or more virtual components 120, 125,130 may communicate the content to a Media Integration Exchange (MIX)service 135, for example, which may also be provided by virtualresources, or hardware resources, such as a compute node or server 140,as illustrated.

The MIX service 135 may communicate, configure, and/or provide or hostan application, such as the Storyline Application 145, that provides aninterface to enable configuring, managing, modifying, and/or publishingcontent across one or more channels, brands, properties, etc. Theapplication 145 may provide one or more interfaces, such as graphicaluser interfaces, for managing content, as will be described in greaterdetail below. The MIX service 135 may communicate with one or morerenderers 150 to provide previews and/or publishing of configuredcontent, for example across multiple channels, such as via one or morecommunication links 155 (e.g., via a wireless network, the web, etc.) toa variety of devices 160 running various operating systems andsupporting various formats, languages, etc. The devices 160 may include,for example, one or more set-top boxes 160-a, tablets 160-b, personal ordesktop computers 160-c, laptops 160-d, and/or mobile devices or smartphones 160-e. The MIX service 135 and/or the renderer 150 may providecontent configured for the web or internet presentation by mirroring thecontent for other operating systems, such as Android, IOS, etc.

In some aspects, content may be communicated by the content deliverynetwork 130, for example to/from one or more devices 160, by variouscommunication links 165. In some aspects, the content received from thedevices 160 may include live or VOD content, which may include near-livecontent (e.g., a recording of an event, sound, etc., by the device andsubsequently uploaded to a social networking site, for example). In somecases, the content received from devices 160 may be received passivelyor actively, by one or more requests for content.

In some aspects, the master control 105/SW 112 operating on the encoder110 may analyze and determine, based on the content, if the contentincludes live broadcast content, advertisements or secondary content, oris video on demand content. The master control 105 may indicate theresults of this determination, for example via one or more signals suchas a state or general purpose interface (GPI) signal 170, which may becommunicated directly to the MIX service 135, or may be routed to one ormore of the virtual components 120, 125, 130. The GPI signal 170 mayenable the MIX service 135 to perform various features, such asproviding targeted content delivery, indicating when content is live,providing flexible, near real time content with customizableadvertisements, etc., the likes of which will be described in greaterdetail below.

3. SYSTEM ARCHITECTURE

The digital media integration exchange system 100 may provide acloud-based, integrated system for the ingestion, production, packaging,indexing, publication, and optimization of digital media and advertisingacross digital channels encompassing two-way communication with thebroadcast air chain and linear production processes. In the service ofproviding that integrated system and it's subordinate sub-systems,system 100 may deploy a mix of hardware, firmware, and software thatequate to physical and virtual appliances that facilitate theseprocesses. The overall system deployment and logical sub-systems 200 areillustrated in FIG. 2. In order to facilitate the process of ingesting,managing, producing, and publishing content across channels and creatingand managing the processes, people, and properties involved thisprocess, the software portion of the system (cloud or virtual-based,and/or including hardware elements) provides the following high-levelinterfaces. The logical sub-systems 200 may be provided across variouscomponents of system 100, as will be described below.

The digital publishing system 205 controls all content and routing ofcontent. This HUB of the digital media integration exchange system 100enables the functionality to find, manage, create, package, publish, andsyndicate media packages and alerts across all properties and channelsconfigured using all feeds, media sources, production tools, andintegrations enabled through other sub-systems. The digital publishingsystem 205 also enables workflow and permission management for allfunctions across the publishing system. In one example, the digitalpublishing system 205 may be implemented in the MIX service 135 and/orby one or more cloud computing resources 115.

A primary use of the MIX platform 100 is the ongoing production,packaging, and publishing of media assets for audiences across thenetwork of multi-channel digital properties. To this end, the digitalpublishing system 205 provides multiple ingestion, production,packaging, and publishing solutions and integration points that includemanaging media and packaging as separate and discrete operations withseamless integrations between them from a systems and a process workflowstandpoint. The digital publishing system 205 also provides extensiblemethods for adding content and media via APIs and through plug-ins thatallow automatic and manually triggered ingestion of content.

The presentation management system 210 configures and enablesconfiguration of presentations of content. The presentation managementsystem 210 (also referred to as the property management system 210)enables all cross-channel brands and structures (hierarchies) and theactual cross channel presentations that drive the user experience.Visual interfaces associated with the presentation management system 210enable administrators to see experiences as they are developed, withcontent integrated, view performance metrics at multiple levels, andtailored presentations for optimal audience impact across channels.Integrations with the digital publishing system 205 enable seamlesspublishing and property management activities without a disjoin, e.g.,by sharing navigation and interfaces. Integrations with the presentationrendering system 215 ensure that management and actual visualization ofpresentations for audiences are identical, and integrates with thepresentation publishing system 220 to ensure that new capabilitiesprovided by presentation developers 268 work seamlessly in the system200. These integrations enable display of modifications made to apresentation of content in real time. In one example, the presentationmanagement system 210 and the presentation rendering system 215 may beimplemented in the MIX service 135 and/or by one or more cloud computingresources 115.

The presentation rendering system 215 renders content and presentations.This system 215 interfaces with the digital publishing system 205 andthe presentation management system 210 to deliver previews and actualviews of each presentation to external audiences. The presentationmanagement system 210 is extensible and programmable to provideautomatic and visually managed versions of presentations in multipleformats based on URL pattern, for example, and can connect to anydigital device 160 via web browser or native application 250. Thepresentation management system 210 can also provide native code snippetsto client applications as needed or custom feeds to drive both behaviorand content presentation.

The presentation publishing system 220 provides software developmentkits (SDKs) and code for publishing presentations. The presentationpublishing system 220 enables development of visual layout interpretersor visual media/content display components using a Component SDK andautomatically makes them available for inclusion on presentationmanagement activities via simple file upload.

The video encoding system 225, which may be implemented on or by theencoder 110 and/or SW 112, encodes live and on-demand video. This system225 connects directly to serial digital interface (SDI) video inputs orfeeds 266 (or any valid digital video input provided) and encodes andslices video into digital formats for upload to both the live digitalvideo delivery system 240 and the media asset manager 230. Customfirmware and software in this system 225, e.g., SW 112, detect programon-air and break state, help detect program type, and ensures consistentconnectivity between the media asset manager 230 and the video deliverysystem 240. The video encoding system 225, installed at each videoproduction station, also connects into the linear broadcast air-chain,allowing program signaling, automation, and manual production queues toalter digital video encoding and other behavior to flow through todigital channels seamlessly without additional manual intervention.

The media asset manager 230 stores encoded video. The media assetmanager 230 provides interfaces for review of stored media both fromuploaded sources and live ingestion for direct use as on-demand assetsor as raw material for targeted clipping in the video production system235. The media asset manager 230 can ingest hourly segments of livevideo from the video encoding system 225 automatically and make on-airprogramming available immediately every hour for clipping andre-distribution via digital channels. The media asset manager 230 alsocoordinates the upload of assets from live and external sources tocloud-based storage systems. Producers may access the media assetmanager 230 in the digital publishing system 205 via its connectionthrough the video production system 235, enabling integrated upload,search, production, and packaging from any source. The digitalpublishing system 205 can also ingest feeds from any source and pushmedia into the media asset manager 210 as needed. In some aspects, mediaassets/content may be stored in storage 125, for example, by the mediaasset manager 230 and/or the video production and encoding systems 235,225 implemented in or associated with the MIX service 135.

All media (images, animations, and video), regardless of it's ingestionpoint flows into the media asset management interface and sub-system 230of the MIX Platform 100. A media library associated with the media assetmanagement system 230 is indexed by topic area, content type, and ofteningestion source, providing instant access to certain processes with asingle click. Media ingestion via one or more platform APIs from anysource will trigger (either explicitly or implicitly) all of theindexing capabilities that help the media asset management system 230provide a single coherent interface for storing, finding, and usingmedia of all types.

The video production system 235 enables production of video assets. Thevideo production system 235 provides tools and automations capable ofaltering video length, presentation, and indexing. Visual clipping andmodification of video picture size, aspect ratio, and modification ofcaption and meta-data is all built into and enabled by the videoproduction system 235, which is integrated with the media asset manager230 for storage and retrieval of binaries and meta-data indexinginformation and connection to external video sources as required. Thevideo production system 235 can also perform near-real-time videoprocessing and indexing automations of video assets, includingautomatically tagging video topically via various time-indexed textsources such as transcripts and closed-caption data and automaticallysegmenting video by program and program segment for re-distribution,which will be described in greater detail below.

The digital video delivery system 240 delivers live and on-demand video,including streaming live video, stored video, and integrates advertisingcontent. The video delivery system 240 proxies connections between theclient video player (configuration details of which are stored oraccessible via the video player library 245) and the actual streamingvideo assets (live or on-demand) and integrates directly with the videoencoding system 225 for live delivery and with the media asset manager230 for on-demand video delivery. The digital video delivery system 240also manages live program on-air and break state, and interfaces withthe video production system 235. In some cases, the digital videodelivery system 240 a interfaces with the digital publishing system 205,to ensure presentations can react to on-air states as needed to enhancethe user experience. The digital video delivery system 240 manages bothserver-side and client-side mid-stream ad content insertion and dictatesvideo program return signaling via streaming manifest manipulation,simultaneously integrating with client-side player technologies toensure an optimal video experience for the end user.

The linear routing system 265 routes digital assets to the air-chain.

The video player library 245 displays video and tailors the contentpresentation experience. The video player library 245 provides a set ofnative client-side video players across platforms that integrates withthe custom digital video delivery system 240 to ensure a continuous andsmooth, uninterrupted video experience. Each player buffers programmingand advertising and uses server-side signaling (provided by the digitalvideo delivery system proxy 240) to weave seamless streaming content andenhance the user with minimal delay during live programming andprogrammable breaks for on-demand programs. In some aspects, the videoproduction system 235, the digital video delivery system 240, and/or thevideo player library 245 may be implemented in the CMS and/or one ormore cloud-based computing resources 115.

Native and mobile application 250 customizes experience on variousdevices 160. Native applications 250 for mobile, smart TV, andset-top-box platforms (including gaming consoles) leverage the videoplayer library 245 to integrate video in a seamless manner. They alsointegrate with the presentation rendering system 215 to obtain contentand configuration data that drive native components to work according tovisual representations in the presentation management system 210. Thisintegration of native applications 250 with the presentation renderingsystem 215 (and by association the presentation publishing system 220and the presentation management system 210) enables a seamlessmanagement and visual manipulation and publishing process that includesmulti-platform, multi-screen experiences for a single brand or property,e.g., for a news broadcaster across web, mobile, and set-top-boxapplications.

The analytics system 255 collects behavioral data based on viewership ofpublished content (which may categorized to provide more tailored data),for example via various metrics such as clicks per minute (CPM). In someaspects, the analytics system 255 may integrate external systems foranalytics such as Google's analytics and DFP platforms with internalanalytics event detection. Digital devices 160 are fed appropriate eventcodes via the presentation rendering system 215 to cause nativeinvocation of the analytics system 255, which collects event dataspecific to the presentation and audience at time of delivery andensures a near-real-time feedback loop with any of the sub-systems (butparticularly the content optimization system 260). The analytics system255 also supports ingestion and processing of offline data to align withproperty set up and reports provision through the content optimizationsystem 260 and customization of reports in the digital publishing system205. New events may be defined and tracked as needed via the internalSDK or through configuration and also via name-value pair passing.

The content optimization system 260 connects content to specificaudiences via initiating actions or generating advisements to producersdeveloping presentations of content. The content optimization system 260performs pattern recognition and learning algorithms (in a pluggablefashion) to ensure that observations and patterns or conditions may bedetected to drive behaviors in the presentation rendering system 215 orthe digital publishing system 205. Trends and observations are surfacedin reports and inline in presentation management 210, presentationpublishing 220, and video production 235 user interfaces to enablevisibility into automated publishing changes or override/actions byusers during any of these processes. These observations include, but arenot limited to the following:

-   -   a. Observations of historic performance of ad units    -   b. Observations of projected sell-through rates for ad units by        brand and channel    -   c. Observations of projected revenue and electronic clicks per        minute (eCPM) for ad units by brand and channel    -   d. Observations of click-through rate (CTR) performance of        specific content references and placements    -   e. Observations of CTR performance of specific contextual tags        by brand and audience    -   f. Observations of Social Sharing activity of specific packages        across or within brands and channels

In some aspects, the analytics system 255 and/or the contentoptimization system 260 may be implemented in the MIX service 135 and/orone or more cloud-based computing resources 115.

4. LOGICAL DATA MODEL

In some aspects, system 100 may be implemented using data model 300,illustrated in FIGS. 3A, 3B, and 3C. It should be appreciated that datamodel 300 is only given by way of example, and that a variety ofdifferent data models and organization schemes are contemplated herein.Data model 300 may include various data tables 305, containing certainpieces of data that are communicated or linked to other data tables 305.The data model 300 may be organized into different sectors, such ascontent data 310, tagging data 335, property data 345, placement &reference data 365, and look up tables 375, for instance.

In support of the overall system, the logical data model 300 providesnormalized, de-normalized, and document-based (flexible) data storagefor all core services of the platform 100. Media, wherever stored (e.g.,locally on server 140 or with cloud-based resources 115, such as storage125), is referenced in the logical data model 300 as an addressable,package ready, and distributable asset. This enables all media assets ofany kind to be mixed and treated the same by the system 100, whereverthe actual ownership lies. The data model 300 also marries propertyset-up, media categorization, rendition support, and hierarchicalrendering structures (maps of how properties are navigated and howcontent is organized as separate but related structures), content andmedia tagging and categorization, and channel and content renditionswith specific attributes mapped loosely to channels. The feedarchitecture leverages this flexible data model to enable the MIXPlatform 100 to ingest and consume any syndication format, normalizecontent in real-time, and provide a uniform interface to content forrepackaging, repurposing, and cross-channel syndication as needed.

4a. Content data

Content data 325 may be used to refer to and include various data tablesassociated with content, including rendition, image, video, alert,weather, external references, package, copy, external reference, andcontent information. Content data 325 may include various pieces ofinformation, data, package, media, including external references todocuments that might be processed, cataloged, indexed, packaged,produced, and then shown to users of the web application or anaudience-facing channel (web site, mobile app, OTT device, etc.) thatinherits basic cataloging features and indexing features throughcontent. Content table 312 may be the hub of and link to all other datagenerally referred to as content data 325. Content table 312 may includelive streams that are currently in progress, for example, before thelive stream or broadcast is finished. System 100 supports infinitecontent type definitions that include formatted and non-structured data(such as defined with weather) and registered content editor panels foreach type of content. Adding a new panel with the correct mappingattaches the editor panel to that content type and makes the panelavailable to the package editor for package types that include the newcontent type. Content table 312 may have many versions based on savingor publishing or both, and the MIX Platform 100 can store when and bywhom each content version was created and modified for auditingpurposes. All packages 314 and content inherit versioning behaviorappropriately in this way.

Any type of content stored in content table 312 can store name and valuepairs as one or more content attributes 340, associated with taggingdata 335, that represent single values or entire document structures(JSON, XML, etc.) on the fly to support complex information storage thatis not pre-defined. This enables individual packages 314 to definevariables that power presentations on a one-off or small batch basis oreven entire documents without having to alter the overarching contentstructure.

In one example, if a story that has a sports score inside of it ispublished, the system 100 can receive inputs or selections to create anattribute called “sports-score” and add XML that contains the scoreon-the-fly, for example, from a user via one or more interfaces.Subsequently, a component can be configured, for example via inputsreceived from a producer, that detects the presence of that name-valuepair and renders a box score using the XML data. This process can beperformed in a relatively quick manner (e.g., a few minutes) and thenre-used again and again without requiring definition of a new contenttype.

Packages 314 are what are displayed, for example to editors via anediting interface, in the MIX Platform 100 for producing sets of contentfor publishing. Packages 314 are also content and may be indexed andsearched independently, and are the core type of content that can bemanipulated when publishing operations are performed. Packages 314 use adefault package editor in the system 100 by default, but new configuredpackage editors (such as for weather) may be configured and mapped topackages of a specific type. Packages 314 may use or not use portions ofthe package meta-data in the package editor as well and may enable anddisable features of package publishing via configuration of the packageeditor. This feature enables new types of packages 314 to be customizedand deployed rapidly with customized publishing processes.

Package type 316, which is linked to package 314, defines an allowedcollection of content types to serve specific needs. The configurationof a package type 316 defines what a search and list screen can andshould do, where in the system 100 lists of these packages 314 shouldreside (e.g., which screen), what portions of the publishing process andtargeting process should be enabled, what types of content and in whatnumbers (e.g., one, many, specific numbers, etc.), and which editors canand should be used when producing the package 314. The MIX Platform 100reacts to configured package types 316 and makes them available as partof the seamless publishing workflow as they are developed.

Content 312 and packages 314 may support multiple renditions 318.Renditions 318 are copies of any type of content 312 (or a package 314)with specific attributes. When content is delivered to the renderer,such as renderer 150, all possible renditions of that content are madeavailable to the renderer 150 when it renders the presentation. Thepresentation will select, based on channel, which renditions 318 aremost appropriate for the audience and channel as needed (e.g., performedduring component development). In one example, the MIX Platform 100 mayautomatically create renditions 318 of images at different aspect ratiosand resolutions upon upload or reference. New aspect ratios andresolutions are configurable. By default, there are three of each basedon industry best practices, but this set is easily configurable.

In one example, one or more image production tools (e.g., interfaces)may be provided to enable modification of a package 314 or content 312,and may be used to create and modify one or more renditions 318 ofcontent 312 or package 314. The one or more image production tools maylink and display all aspect ratios and allow crops and focal points toaffect all renditions 318 simultaneously while the user watches. Theseproduction tools are built into the publishing and packaging processalong with image manipulation tools so that a producer does not have toleave or exit the package editing process to alter the image. A producermay optionally un-link the rendition production tools to tailor a givenrendition 318 specifically via the production tools and cropping. All ofthese links and results persist (e.g., are stored) when a package isclosed and are saved per-package. Renditions 318 are always linked tothe original image and the original rendition 318 is saved in anunaltered format or state, to ensure no degradation of the originalcontent occurs as users manipulate the image or other content.

The MIX Platform 100 enables save and publish hooks to be associatedwith various content types (e.g., as interceptors in the service levelcode) to automatically produce renditions 318 of content 312 andpackages 314. Registering a new interceptor will automatically ensurethe renditions 318 are produced on save, modification, or publication(depending on configuration). The MIX Platform 100 may detect and showany renditions 318 of the package 314 in the appropriate interfaces andallow production and manipulation of those renditions 318 as needed. Ifrenditions 318 trigger the inclusion of content 312 on other properties,a preview may display the content 312 showing up on those channels (orsimulate them) directly from the publishing/preview functionality.

Alerts 320, which are linked to content 312, define short update contenttargeted to a specific brand property 350 and not specific sectionproperties 352 (e.g., areas of a brand). A package 314 containing analert is considered an alert package and tailors targeting to the brandlevel 350 instead of to a specific section 352. In some aspects,brand-level targeting may inform the MIX Platform 100 to make a package314 available at render time to all renders targeted by the brandautomatically. Typically, each channel render makes its own decision howto implement or respond to this instruction.

The MIX Platform 100 may connect alerts 320 and alert packages tomultiple output channels optionally (and can add more) includingbrand-configured SMS, social media accounts, mobile push notifications,and MIX Platform internal notifications. Alerts 320 may also beautomatically included as part of a package 314 by default, allowing anystory, image gallery, weather report, sports score (any package), toalso trigger a brand-level alert that automatically links back to theinitiated story. This linked behavior may be performed during packagecreation, after publication, or as a link-back after a stand-alone alertgets created with the same affect. Additionally, the MIX Platform 100ensures that all LIVE alerts for a given brand are visible, navigable,and controllable from any one alert at all times since timing andbreadth of alerts in the presentation is so important. For example, websites may display multiple alerts in the header using scrolling, but theorder and number can affect how many people see them. This is criticalto the publishing process and differentiating from a productionstandpoint.

Weather data 322, which is linked to content data 312, containsstructured data that includes detailed information about temperature,air pressure, and an unlimited set of other data regarding the weatherin a specific zip code or geographic location. This data may be storedin a de-normalized format that allows any number of attributes to beconfigured and stored over time without necessary code changes. Packages314 of type weather include this content type and allow for the weatherforecast edit panel to appear in the package editor for manipulatingthis data.

Copy 324, which is linked to content data 312, represents formatted ornon-formatted text attached to any package 314.

Image 326, which is linked to content data 312, represents stored imagesstored at any URL for inclusion in packages 314 during publication.Users can search and filter for image assets either as part of selectingmedia for inclusion in a package 314 or from the media interface itself.

Video 328, which is linked to content data 312, includes stored digitalvideo files available at some URL for inclusion in a package 314. Videoalso appears in the media management interface both outside and insideof package editing tools. Users can search and filter for video assetseither as part of selecting media for inclusion in a package 314 or fromthe media interface itself.

Live Stream 330, which is linked to content data 312, includes one ormore live video sources available for inclusion in a package 314 at aspecific live streaming URL. Live streams 330 are either persistent orscheduled to begin and end. Referencing live streams 330 as contentallows them to be included as part of a package 314 and promoted acrossproperties as needed. The system 100 automatically discovers livestreams 330 as they are registered in the infrastructure and makes themavailable for routing in this way. The system 100 also automaticallyaggregates live streams 330 under properties based on configurationconventions that match brand-level property attributes to detectedattributes on the live stream 330. This means that within moments of alive stream 330 appearing in the system 100 via physical configuration,it automatically becomes available and editable in the system forproduction and routing. Stated another way, by treating live streams 330as editable and packagable content, live streams 330 can be received bysystem 100 and published at various properties, configured, etc., invarious ways in near real time.

An external reference 334, which may be linked to content data 312, mayinclude a link to external media on the internet not owned, controlled,or associated with the MIX Platform 100 directly.

4b. Tagging Data

Tagging data 335 may include or be associated with various informationused to tag content with key words, phrases, or other identifiers. A tag336 is a simple, categorized (dimension below) topic that content maypertain to. The process of tagging content, which will be described ingreater detail below, enables storing, searching, and directing contentto specific locations/properties for publishing.

The dimension data table 338, which is linked to each tag 336, declaresa type for tags 336 to allow them to fit into specific sets, e.g., a tagcategory. Examples of dimensions 338 may include a person, place, event,topic, category, franchise, source, etc. In some aspects, dimension 338may be linked to two separate tables, content dimension 338-a includinga content-based category of classification, and topical dimension 338-bincluding a topic-based category or classification.

The relevance data structure 342 links tags 336 to content 312 at thepackage 314 and individual content item level with a weight. Thisenables the MIX Platform 100 to measure how related content is to agiven tag (person, place, event, or topic). These relationships betweencontent 312 and tagging data 335 are the primary driver of contentdiscovery and filters that place content on display presentations. Tagrelevance intersections between packages enable automatic calculation ofrelationships between packages for suggested content and relatedcontent. Tag relevances may be calculated based on the output ofgeneralized tag detection services and stored in the tag and relevancedata structures 336, 342. Tag relevances may also be overridden manuallyby users or re-calculated by internal processes in an ad-hoc postprocessing manner.

4c. Property Data

Property data 345 may include and be used to refer to data that isassociated with a location for delivery of content, such as a web page,web site with multiple pages, and so on. A property 346 is thehighest-level construct that designates an owned location capable ofdistributing or delivering content to an audience. Any conceptual placewhere media may be displayed is considered a property. Some or all typesof property may be stored (and the relationship to child properties) ina single table that mixes relational and document based data in a waythat is highly flexible with limited changes required to the data model.Property data may also be persisted solely as XML, JSON, or otherdocument format stored either in a relational database as a large field,in a specialized no-SQL database, or in an organized file system withoutany material change to the system in general.

Property attributes 348, which are linked to each entry of a property346, include name-value pairs that are a mix of pre-defined and ad-hocinformation stored for the property 346. Storing the property attributes348 separate from the property entry 346 enables the MIX Platform 100 tosupport multiple types of properties 346 quickly via configurationwithout adding new data constructs. In one example, this may be doneusing simple name-value key pairs (email=bob@domain.com), or completeJSON or XML documents (or any other documents) that define complex datastructures.

A property 346 may begin with or be pre-configured with property of type“Brand” 350 that defines the name of the content distributor. To anextent, brands 350 can be nested within each other (e.g., SinclairNetwork which owns KOMO News and WBFF 45), but primarily each brand 350starts with at least a web property and domain URL (which may berequired for the renderer 150 to recognize the brand 350 when variousdevices ask for content and presentations). Other than name andproduction URL, other fields in a brand 350 are based on the type ofbrand during property set up. Brands 350 can actually represent multiplechannels (web, mobile, OTT, etc.) each that mirror the section (orcontent focus/area) structure of the brand 350 on a specific knownchannel.

A section property 352 may be a property directly under a brand 350 oranother section that defines an area of focus for the brand 350 (e.g.,news, sports, popular, featured videos) or a way content or media isorganized for consumption or distribution. Essentially, a sectiondictates the information architecture for the brand 350 at large acrosschannels. Sections 352 have a primary presentation 358 that may instructhow content 312 should be routed and organized within a brand 350 andthat the renderer 150 will use to build an actual presentation perchannel.

A channel represents a way of communicating with the audience that iswidely accepted. Known channels are set up in the MIX Platform 100 sothat each brand 350 can tailor the experience to each channel but keepcertain aspects of the brand consistent. Channel properties 356 mayprovide channel-specific overrides to the brand structure. A brand 350will set up a list of sections 352. Every section property 352 andpresentation 358 may have a channel property 356 that overridesbehavior, provides an alternative presentation, or eliminates sectionproperties for the given channel. This ability to conditionally overridebehavior on a per-channel basis lets each channel either re-use thesection hierarchy from the brand 350, remove sections 352, consolidatesections 352, or provide channel-specific presentations for the content312 on each brand 350. This hierarchical connection between the primarybrand property 346 and the channel property 356 enables brand-leveldecisions to cascade across channels (the web site, mobile app, OTT app,etc.) by default based on the presentation rendering rules built intothe renderer for each channel. Overrides can be done opportunisticallyon a per-section 352 or presentation 358 or channel (or all three) basisto tailor the experience, but is not needed unless a sub-optimalexperience occurs on the channel.

A presentation 358 represents either a type of content display, adefault behavior, or a section display for a brand 350. A presentation358 may represent a page in a web site. Each presentation 358 belongs toor is associated with a section property 352 (either the root or a subnode) and defines the visual details for a property node. The “layout”property defines the presentation 358 and provides all instructions tothe renderer 150 for actually providing the user experience. Thepresentation data structure 358 currently uses a well-defined JSONstructure (although the format could easily change to any other format),is stored in the database and in a file structure, and defines or linksto the following information:

-   -   1. The presentation template, if any, that this presentation is        based upon.    -   2. The complete overall column and container layout intended for        the presentation.        -   a. This format supports responsive rendering in a columnar            grid or not.        -   b. It declares columns and containers with constraints as            needed        -   c. The format is open to wide interpretation based on            rendering plug-ins by channel.    -   3. The list of named components 360 and placement inside the        layout.        -   a. This references the actual component code the renderer            should use.    -   4. The list of named filters 362 for each component 360 that        shows reference objects.    -   5. The set of component settings for each component 360 for        customization purposes

A component 360 may include a set of code or instructions and areference to that code for use in presentations 358. Components 360 inthe MIX Platform 100 may reference code stored in the designatedplatform file system or remote storage. In some aspects, a componentstructure 360 and/or a filter 362 may not be tied or directly linked toa presentation 358 in the data model 300, as each presentation 358 maybe associated with an object (e.g., a JSON object) that hasinstantiations of filters 362 & component 360. In some aspects, acomponent 360 may also reference alternative code for any channel in anylanguage via adding variable code structures that mirror those in baseweb components 360 in a parallel file structure for the channel ordevice involved or targeted.

A filter 362 may include a named and configured complex search forpackages 314 that includes a full-Boolean nested query that covers allmeta-data, associated tags, and attributes of the package 314. Filters362 are configured primarily in the query attribute with some additionalfields, but can also be saved/accessed from advanced searches in the MIXPlatform 100. In some aspects, advanced search queries on packages 314via the services and the accompanying JSON document (JSON not required)are identical to the stored filter parameters 362 that power contentrouting to components 360. This allows named filters 362 to be createdbased on searches in the MIX Platform package search (showing anadministrator what content is typically available) and then used togenerate or power a component 360 placed on section presentation 358,for example, associated with a section property 352. This flexibilityenhances the implementation and capability of the system 100 to enablefiltering content in an integrated way and via one or more integratedinterfaces. Named filters 362 may also be re-used across many properties346 and or in many sections 352 (e.g., trending stories, popularstories, national news, etc.) when the filter is configured to apply tomultiple sections 352.

-   -   4d. Placement & Reference Data

Placement and reference data 365 may include and be used to refer todata that is associated with references/teasers of content 312. Thesuggested teaser placement data structure 366 may indicate the preferredpriority and placement of a package 314 on a target (primary orsecondary syndicated) property 346 (usually a section 352). The system100 may use publish data and suggested placement precedence to decidethe actual order of reference objects 372 generated during publicationprocesses.

A property content union 368 may include a representation (in someaspects, internal only representation) of all valid brands 350 andsections 352 based on publishing for known packages 314. The MIXPlatform 100 may use the property content union data table 368 toprevent rendering of stories on properties 346 that should not bepresent, for example, based on restrictions or limitations associatedwith a package 314, such as an expiration date and/or time, etc. Manyother large-scale content systems that cover more than one property atmore than one URL may allow articles to render anywhere on any propertyand section simply by appending the article ID or the story title from adifferent URL. This is problematic from a content permission standpointas it can lead to stories that violate source licensing considerations.In some aspects, during the publishing process (see Reference Object 372below), the MIX Platform 100 reconciles intended and allowed section 352and brand-level 350 mappings from all filters 362 (based on targetingand syndication) and maps them dynamically into this table.

The teaser placement structure 370 may include the actual placement of areference object 372 on a specific component 360 of a specificpresentation 358. This relationship is constantly updated as newpackages 314 show up for publication.

A reference object 372 represents a specific reference to a piece ofcontent 312 or package 314 that is both linked to that contentexplicitly and de-normalized for presentation in a specific context orproperty 346. The MIX Platform 100 enables reference objects 372 to becreated and linked to any property 346 at any level. In one example, areference object 372 may be mapped to a brand-level section property352, and marked for display as a teaser across channels (web, mobile,etc.), with the intent of leading audiences to discover the content 312.Reference objects 372 may be easily added to include external links toexternal content not inside or associated with the MIX Platform 100,and/or tailored by context. By default, reference objects 372 may becreated in response to filter 362 configurations that identify packages314 for inclusion in sections 352. These queries run as agentsasynchronously, discover new packages 314 as they are saved, and copykey fields from the package 314 and content 312 to automatically createmultiple teasers based on meta-data, targeting, and tagging. In someexamples, tagging may be the driving input in the creation of multipleteasers.

The MIX Platform 100 may also generate reference objects 372 inasynchronous processes that find packages 314 in other ways usingagents. These agents may run, find a package 314, and create lists ofreference objects 372 on a set interval to drive content discovery. Thisenables the content discovery rendering to be relatively un-intelligentand to simply obey what it finds in the list of reference objects 372without other inputs. The configuration and use of reference objects 372also enables a completely flexible reference object generation schemewherein any process, using any mechanism, may find content 312 andintroduce reference objects 372 into the appropriate bucketsautomatically without any impact (or potentially minimal) on rendering.These processes and their results are also reflected during presentationbuilding (preview components as they are added to presentations) andcontent placement and preview (preview of renders during publishing andeditorial teaser management), as will be described in greater detailbelow.

Other important aspects of the data model 300 include the globallyunique identifier (GUID) data keys for all rows across objects, allowingfor mobility of data and meta-data across environments with ease and theblend of structured, indexed unstructured, and document-based dataacross the data model.

FIG. 3C illustrates a more detailed example of the lookup tables 375shown in FIG. 3A. Look up tables 375 may contain linked data as toownership, location, name, and affiliation, for example, of variousstations, broadcasters, etc. This information may be used to verifypermissions to publish certain content on properties associated withvarious stations, broadcasters, etc., through a digital rights system,which will be described in greater detail below.

Subsequent sections of this application provide detailed descriptions ofindividual portions of the system data model 300, which may leverageMySQL or be portable to any database structure or format, and the actualbehavior of the sub-systems involved.

5. SYSTEM PROCESSES

-   -   5a. Content Packaging, Presentation, and Targeting

FIG. 4 illustrates an example flow diagram of process 400 of how variousdata is organized and how content 490, which may be an example of or beaccessed from content data structure 312, is directed to a specificsection or property 465. Process 400 may be implemented by system 100according to logical system 200 and/or data model 300. In some aspects,process 400 may be implemented by the digital publishing system 205,and/or other systems described in reference to FIG. 2.

Content 490 may be bundled or associated into a package 405, forexample, by a broadcaster or encoder 110/SW 112, or by the digitalpublishing system 205, which may be implemented across one or morevirtual resources 115, and/or MIX service 135. The package 405 mayinclude one or more types of content 490, content from differentsources, and so on, including, for example a copy, images, video, etc.,grouped together for the purpose of publishing the content 490. Thepackage 405 may include some or all of the data associated with apackage 314 as described above in reference to FIGS. 3A, 3B, and 3C. Forexample, the package 405 may include video received from one or morevideo feeds 266, encoded by the video encoding system 225, accessed bythe media asset manager 230, and/or modified or produced by the videoproduction system 235. In one specific example, the package 405 mayinclude a news story, a staff bio, a weather forecast, etc., orcombinations thereof.

The package 405 may be associated at 410 with one or more tags 415,which may include key words, phrases, etc., associated with one or morecharacterizations of or associated with the content 490 of package 405.The tags 415 may also include a source of the content 490, a newsstation or broadcaster associated with the content 490, etc. Forexample, the tag(s) 415 may include “News” and “the names of one or morestations the news content 490 is associated with. Associating thepackage 405 with one or more tags 415 at operation 410 may includelinking package data 314 with one or more data structures of taggingdata 335, as described above in reference to FIGS. 3A, 3B, and 3C.

One or more filters 420, for example, associated with a section orproperty 460 such as a webpage, or a component associated with a page,may select one or more packages 405 for presentation based on the tag(s)415 associated with each package 405 at 425. For example, a local newspage component 440, such as a top or lead component, may search forpackages 405 associated with tags 415 “news” and a certain broadcaststation or news reporting station. One or more filters 420 may includethe data stored in one or more filter data structures 362, and may beconfigured to select content based on comparisons of tags 415 associatedwith a package 405.

Upon receiving filtered packages 405, selected by one or more filters420 at operation 425, a reference or teaser 430 may be generated atoperation 435, for example for a specific location on the page. In oneexample, a reference 430 may include the headline, summary, teaserimage, and a URL or page address to enable editors to tailor the teaserto a particular application or placement. A reference 430 may includesome or all of the data associated with placement and reference data365. Each reference 430 may be ordered and self-contained, such thateach reference 430 has or is associated with content 490, URLs, and sortorders associated with a presentation. At the time of publishing, eachreference 430 may inherit settings from the associated package 405. Eachreference 430 may be independently adjustable or configurable inrelation to the underlying package 405, such that a producer mayconfigure custom external links, tailored teasers, and perform othereditorial changes, including reordering the content of a package 405such as to make the reference 430 simpler, shorter, etc.

Next, the reference 430 and/or package 405 may be directed to one ormore components 440 at operation 445. Each of the one or more components440 may include a piece of code or other instructions, associated with apage, property, section, etc., that is configured to render varioustypes of content 490, including the content of package 405 and in someaspects, content of the reference 430. An example of a component 440 mayinclude a TOP NEWS box on a home page of a website, the header, etc.Each component 440 may be associated with a presentation 450 atoperation 455, which may include a collection of one or more components440 and instructions for building a document. Each presentation 450 mayfurther be associated with a section or property 465, such as an area offocus for a property of specific URL/different page, at operation 460. Acomponent 440 may include some or all data associated with componentdata structure 360. A presentation 450 may include some or all dataassociated with component data structure 360. A property 460 may includesome or all data associated with property data structures 345 and/or346.

Additionally or alternatively, each package 405 may be mapped to atarget 475 at operation 470 and further to a section 465 at operation480. In some aspects, the package 405 may additionally be associatedwith one or more tags 415 at operation 485, for example, to enable thecontent 490 to be distributed to other properties, channels, etc. Insome aspects, operation 485 may include determining content and/or tags415 of that content associated with the section 465 that the package 405was originally targeted to. Based on commonalities between the content490 associated with property 465, tags 415 may be automatically (e.g.,without direct user input) generated at operation 485. In one example,the package 405 may be mapped to a target 475, such as the LOCAL NEWSand the system 100 will automatically tag the package 405 with tags 415“News” and the name of the local news station. In this way, packages 405may be associated and directed to components 440, formed intopresentations 450, and directed to sections or properties 465, withconfigured teasers or references 430 in an integrated, effective andefficient manner.

-   -   5b. Content Rendering

FIG. 5 is an example flow diagram illustrating an example process 500 ofhow packages 405 are rendered on sections or properties 465 in the formof presentations 450. Process 500 may incorporate one or more aspects ofprocess 400 described above and may be implemented by system 100according to logical system 200 and/or data model 300. In some aspects,process 500 may be implemented by the presentation rendering system 215and/or the digital publishing system 205, and/or other systems describedin reference to FIG. 2.

The renderer 505, which may be an example of or implemented by renderer150, may first, at operation 515, map a URL to a section 465. Next, oneor more presentations 450 may be found at operation 520, for example bythe section 465 based on configured criteria, by the renderer 505 basedon certain instructions or criteria, etc. Once the presentation isfound, the renderer 505 may iterate through searching components 440based on data associated with the presentation 450, and fetch codeassociated with at least one component at operation 530. Some or all ofoperations 515-530 may be repeated for each section 465, presentation450, or component 440, as needed until the section 465 or presentation450 is completely fulfilled.

Each selected component 440 may apply one or more filters 420 atoperation 535 and find packages 405, containing content 490, atoperation 540. Each component 440 may be configured with certain filters420, for example, for presenting certain content 490 associated with apresentation 450 and/or section/property 465. The component 440 may readthe package 405 at operation 545 for references 430. At operation 550,the component 440 may generate one or more references/teasers, such asone or more headlines, summaries, images, URL (e.g., derived andoverrideable), and/or sort orders. Next, the one or more references 430may be added to the presentation at operation 555. Upon retrieval ofpackages 405 to fill out each component 440 and each presentation 450associated with a section or property 465, the renderer 505 may renderthe document 510 at operation 560. In some aspects, the renderer 505 mayrender portions of a document 510 at different times, such as whileadditional content/packages 405 are being retrieved.

Process 500 may, in some aspects, include a package 405 being mapped toone or more targets 475 at operation 470, subsequently directed to oneor more sections 465 at operation 480, and associated with one or moretags 415 at operation 485, as described above. This sub-process mayinterface with the rendering process 500, such that newly added packages405 may be rendered based on tags 415 associated with the package 405via targeting at operations 470, 480, and 485. In some aspects,targeting property sections 465 may infer tags 415 automatically basedon tags in the primary filter of the default presentation 450 for thatsection. The renderer 505 may use those tags to automatically routepackages 405 to new or replaced sections 465 based on those tagsallowing targets 475 to disappear without truly orphaning packages.

-   -   5c. Content Presentation

With reference to FIG. 6, an example system 600 for configuring apresentation of content 490 is shown. System 600 may incorporate one ormore aspects of processes 400 and/or 500 described above and may beimplemented by system 100 according to logical system 200 and/or datamodel 300.

A channel 605 may define or include a format or technology, such as theweb, IOS, Android, OTT, social networking formats, and the like,suitable for publishing content 490. Each channel 605 may be associatedwith a channel-specific layout 610, which may include an empty visualarrangement, for example, configurable to present one or more separateinstances of content 490/packages 405. A visual representation orpresentation of a layout 610 is illustrated as layout 610-a, whichincludes various sizes and shapes of areas 615. An area 615 may define aspace that is suitable for placing one or more components 440. Asdescribed above, a component 440 may include a set of instructionsdefining or enabling a web-ready visualization of data. Each component440 may be linked to or associated with a component renderer 635, whichmay include one or more aspects of renderer 505 and/or 150. Eachcomponent renderer 635 may include or provide upon rendering, a channelspecific visualization, such as for a web or iOS application. Acomponent 440 may be associated with one or more component placements620 in a presentation 450. Each component placement defines an instanceof a component 440 in an area 615 of a presentation 450, with a specificconfiguration. Multiple components 440 are shown in areas 615 (e.g.,associated with a component placement 620) of a layout 610 aspresentation 450-a. A presentation 450, as described previously, may bechannel-specific, based on a template 625, for a specific section 465 ina brand 630. A template or presentation template 625 may include apartial or macro-enabled presentation, such as example presentationtemplate 625-a. A section 465 may include a content focus area for abrand (e.g., hierarchical). A brand 630 may include a web site, mobileweb site, mobile app, social media pages, or any number ofchannel-specific presentations.

6. COMPONENT-CENTRIC APPROACH TO CONTENT MANAGEMENT

-   -   6a. Component

In the service of supporting open content rendering that is bothcompatible with any client technology, including HTML5-based webbrowsers on various devices 160 (e.g., desktop computers and mobiledevices, native mobile applications, and native Smart TV and/orset-top-box applications), the MIX Platform 100 may provide an opensoftware development kit (SDK) for screen layout 610, selection ofindividual screen content, and media display component creation, such ascomponents 440.

Individual pieces of code or instructions for each component 440 enablethe HTML5 based rendering of each component 440 along with targetcontent. These components 440 are driven by custom CSS, scriptingresource files, and a template file that inherit data context from therendering engine automatically. Developing and publishing components 440involves first building the target presentation, e.g., a static web pagewith example content and then translating each individual portion of thepresentation into a reusable rendering component 440 for HTML5. Aprocess 800 for creating a component 440 and the resulting effects onspecific data structures (e.g., the component data structure illustratedin FIG. 3A) of the component 440 is illustrated in FIG. 8, which will bedescribed in greater detail below. Component code is used to incorporatecontent and information, render the target visualizations at clientrender time, render previews during publishing, and rendercontent-enabled previews during visual presentation management (seebelow). The component SDK may also incorporate a technology agnosticformat for declaring responsive page layouts that can support any clientdevice based on a plug-in interpreter for the target client experience,to include feeds to third-party frameworks or applications as needed.

Visual components using the SDK are organized as files in a designatedfolder structure in a registered remote file store, such as componentdata structure 360. For the purposes of rendering itself, each componentmay consists of the following files in the following folder structure:

/components The root directory for all components on the remote filestore /type-directory The type or category of component (shows up in thepresentation builder, i.e. “Navigation”) /component-name The name of thespecific component (i.e. Default Header) /version The version name ofthis component (i.e. v1.0) - all files and resource folders live herecomponent-template This file provides the actual renderable instructionswith included variables component-mapping This file maps global contextdata in the SDK to local variables the template file referencesdefaultContent This file provides structured default content for testingcomponents without real data other files and folders Any un-definedfiles and folders are passed through as resources for the renderer touse (the renderer ignores other files at render time, but publishingprocesses recognize others to affect the above) component.scss This fileprovides SASS information to style the component and ends up in globalCSS component.jade This file is interpreted into the actual renderingtemplate file above at publish time (the component publishing processignores these other files, but presentation builder uses them)thumbnail.png An image for use in presentation builder to represent thecomponent visually (small) preview.png A pixel-for-pixel rendition ofthe component showing what it usually looks like inline

FIG. 8 illustrates a flow block diagram of an example process 800 forcreating a component 440 and the resulting effects on specific datastructures (e.g., the component data structure illustrated in FIG. 3A)of the component 440. Process 800 may incorporate or touch on one ormore aspects of processes 400, 500, 700 and/or 800 and/or system 600described above and may be implemented by system 100 according tological system 200 and/or data model 300.

In some aspects, the component data structure 360 may be representedand/or implemented by the component source structure 802. Structure 802may include various directories and files that define a component 440 orcomponent template. For the sake of brevity, only the most relevantfiles and directories will be described here in relation to process 800.

Process 800 may begin with a component scaffolding being generated atoperation 810, for example responsive to inputs received from adeveloper. A component generator, for example as part of thepresentation management system, 210, may create a folder structure 870based on the archetype of the component 440, such as based on content orother information associated with the configuration of the component440. Next, one or more variables, for example associated with acomponent-mapping file, may be changed (e.g., from default values) atoperation 820, for example, responsive to inputs received from adeveloper. One or more other component files may be changed atoperations 825 and 830, also responsive to inputs received from adeveloper or user. Next image files and javascript may be added to thecomponent 440, e.g., to the resource folder, at operation 835, forexample, responsive to inputs received from a developer. The developermay instruct the system 210 to compile the components directory atoperation 840. The component compiler (which may also be implemented aspart of the presentation management system 210), may then create acomponent template file 875, for example, by converting the jade file,at operation 845.

The component compiler may then merge all component.sass files atoperation 850, into a global.css file 880. The component compiler maycreate a new CSS file for each property to be associated with thecomponent 440 at operation 855. The component compiler may also minifycss and javascript files and obfuscate them at operation 860. Finally,the compiler may move the files to a deployment directory structure,such as a property1.css file 885.

FIG. 9 illustrates an example process 900 of uploading a component 440and generating a preview of content rendered by the component 440.Process 900 may incorporate or touch on one or more aspects of processes400, 500, and/or 700 and/or system 600 described above and may beimplemented by system 100 according to logical system 200 and/or datamodel 300. In one aspect, process 900 may generate a preview of thecomponent 440 by rendering the component 440 with actual, real-time orconfigured content. In the case that no such content is available,however, the renderer may still render the component 440 with defaultdata, for example, to enable meaningful previewing of the renderedcomponent 440 before final placement/publishing. The default data filemay be tailored, such that multiple default data files are created torender a closer approximation to the type of real content that isconfigured to be rendered by a component 440.

FIGS. 10A, 10B, and 10C illustrate a flow block diagram of an exampleprocess 1000 for publishing a component 440 and the associatedinteractions with data or assets of the component 440. Process 1000 mayincorporate or touch on one or more aspects of processes 400, 500, 700,800 and/or 900 and/or system 600 described above and may be implementedby system 100 according to logical system 200 and/or data model 300.

-   -   6b. Visual Presentation Management Via Components

Managing presentations 450 across channels occurs visually via thepresentation management system 210 that may overlay the presentationrendering system 215. Components 440 developed using the SDK enable theHTML5-based renderer, which may be part of the presentation renderingsystem 215, to produce exact or very close approximations of therendered experience, with appropriate content 490, as presentations 450are built. The presentation managing system 210 inspects the renderedpage and interacts with the presentation rendering system 215 andservice-level endpoints to ensure the visual editing experience is aparity visual experience that adds editing capabilities and disablesinteractive capabilities that might interfere with the visual managementof the interface.

The presentation management system or presentation builder 210, via thecomponent publishing process, may discover published components 440directly from the remote file store (e.g., component data structure 360)and the directory structure 805, enabling interfaces and code managementprocesses (of any kind) to drive how the presentation management system210 responds to code changes. A user interface (UI) or graphical userinterface (GUI) for configuration of components 440, such as interface1600 illustrated in FIG. 16 or interface 1700 illustrated in FIG. 17 anddescribed in greater detail below, may react to changes in the structureof the presentation code.

The basic presentation builder interface 1600 may show all categories ofpublished components 440 in the browsing interface on the right-handside of the rendered presentation. This and the search interfaceleverage indexed lists of the presentation component directory structureat level 1. Navigating into the folders will display, visually, the setof available components by category with their intended thumbnails,names, and potentially their larger visual preview images (describedabove) to allow the administrator to see the potential visual impact ofthe component prior to placing it.

FIG. 7 illustrates an example process 700 for building or configuring apresentation 450 including one or more components 440. Process 700 mayincorporate one or more aspects of processes 400 and/or 500 and/orsystem 600 described above and may be implemented by system 100according to logical system 200 and/or data model 300.

A presentation 450 may be configured according to process 700, forexample, via one or more user interfaces provided by the MIX service 135and/or Application 145. Process 700 may begin by extracting a layout 610from a target presentation 705 at operation 735. Next, one or more areas615 may be configured or created at operation 740, for placement of oneor more components 440. Next, one or more components 440 may beextracted for association with the target presentation 705 at operation745. The one or more components 440 may each be tailored using asoftware development kit (SDK) provided by system 100. The SDK mayenable embedding of various settings and data into the component 440 atoperation 750. This may further include embedding theme settings 710,embedding navigation, brand-level data 715, embedding package data 720,and/or embedding reference/teaser data 725. Some or all of the dataembedded using the SDK may be associated with one or more data tables(with a similar or the same naming convention) as described above inreference to FIGS. 3A, 3B, and 3C.

Process 700 may continue to operation 755, where a presentation template625 may be created from the layout 610 (which may be empty). Theconfigured component(s) 440 may be placed in the layout areas 615 oflayout 610 at operation 760. Next, the component placement(s) 620 may beconfigured for the presentation template 625 at operation 765. Thepresentation template 625 may then be associated with a section 465 atoperation 770, and a presentation 450 automatically created (accordingto the template 625 and including components 440) at operation 775. Tofinish the configuration of presentation 450, each component placement620 may be tailored for the section 465.

FIG. 15 shows a flow block diagram of an example process 1500 forconfiguring and rendering a presentation 450 from a template.

Once a presentation 450 is inside of the presentation builder, thesystem 210 may support three manipulations of the presentation 450, allof which may be performed without persisting the presentation:

-   -   1. Administrators may select and place a new component 440 into        an existing container in the presentation 450        -   a. In this case, the renderer will return a temporary render            for an individual component 440 for placement    -   2. Administrators may alter the configuration of an existing        component 440 and change its render        -   a. In this case, the renderer will return a temporary render            for an individual component 440 for placement    -   3. Administrators may move an existing component 440 to a new        location in the presentation 450        -   a. In this case, the presentation builder will do all the            work client-side with no interaction

7. BRAND AND PROPERTY MANAGEMENT

The brand and property management sub-system 210 is the primary vehiclefor creating and managing media organization structures and userexperiences designed to deliver specific types of media and content tospecific audiences. The system 210 supports a software development kit(SDK) for the creation of channel-specific (web, mobile, OTT, and anyother channel technology) and mirrored web-only (to power the visualediting capabilities) rendering components, such as components 440, 635,and visual layouts that include data and brand visual configurationintegrations. The setup of a brand-level property, such as 630, enablesa web site to have or be associated with a hierarchical URL structure,connect to social media outlets and mobile applications specific to thebrand 630 and enables brand managers to select pre-constructed visualtemplates, visually manipulate them, and create, user, and configurepresentations for each specific area of each web site, mobileapplication, etc. from a single user interface (described below).

The property management system 210 is built in such a way that layoutand component code may be re-used across properties 630, 465 or propertytemplates or presentation templates 625 from a central location. Inaddition, entire layout, component, and configuration set-ups for apresentation 450 may be saved as a presentation template 625 for re-usewithin a single brand or across brands. When a presentation template 625is applied to a specific property or section 465 (for instance aspecific URL page of a web site) the presentation 450 may inherit allsettings from the template 465, automatically making certainsubstitutions (based on configurable conventions) in the configurationand content routing set up (these behaviors are programmable andflexible), and becomes wholly independent of the template 625. Thisenables differentiation of a specific presentation 450 from the template625 from which it was built and from other presentations 450 built fromthe same template 625.

Across brands 630, the brand theme settings, such as one or more themes1135 (in some cases built from one or more theme templates 1130)including fonts, brand logos, style guides (all manageable visuallythrough the brand management interface) also alter the appearance oflike presentations 450. Presentation templates 625 may also have“locked” configurations and components 440 that may not be changed by anindividual site 630 or presentation 450 (limiting the visual editinginterface at brand management time). In some aspects, changes to sharedcomponents 440 or shared presentation templates 625 can cascade updatepresentations 450 and brands 630 across the network to introduce new orcorrect undesired functionality at scale quickly and requiring minimalinput form a user, for example.

In addition to presentation templates 625, the property managementsystem 210 provides the notion of a brand template 1120, including afull structure of sections 465 and pre-configured presentations 450 fora specific type of digital property 630 (i.e. a news property). Thisfeature enables the new property interface or wizard to instantly createa fully functional new operating brand 630 based on a template quicklyand efficiently (e.g., as quickly as Microsoft Word or a like wordprocessing program can create a new document based on a documenttemplate). Similar to the presentation 450/presentation template 625relationship, brand property 630 configurations are wholly independentbut still related to an associated brand template 1120, allowing eachbrand 630 to differentiate itself structurally from the next butretaining the ability to lock certain aspects of a brand type and tocascade release new functions and/or sections 465 to like brands 630 ina single step when desired.

FIGS. 11A, 11B, and 11C show block diagrams of example processes 1100 a,1100 b, and 1100 c for setting up a brand template, configuring a brandor site, and publishing content, respectively. Processes 1100 a, 1100 b,and 1100 c may incorporate or touch on one or more aspects of processes400, 500, 700, 800, 900 and/or 1000 and/or system 600 described aboveand may be implemented by aspects of system 100, such as by the propertymanagement system 210, or other components of the logical system 200, incoordination with data model 300.

A brand template 1102, which may include a template for a news page orproperty, lifestyle site, etc., may be configured by process 1100 a.Process 1100 a may incorporate processes performed by system 100, forexample in response to inputs received by a user of system 100, forexample via one or more computing devices via application 145. A brandtemplate 1120, or theme template 1130, once configured, may be saved toenable recreation of the template with a one click entry or minimalentries by a user, for example.

Process 1100 a may begin with a user entering information to create abrand and/or theme template 1120, 1130 at operation 1140. In someaspects, not all setting configured in the brand or theme template 1120,1130 will be valid for all instances of publishing or presentation ofthe template 1120, 1130 to sites 630, such as URLs. As a result, thesites 630 presenting the templates 1120, 1130 may inherit defaults, andoverride some configuration details to format or fit the template 1120,1130 to the individual site 630. Next, a hierarchy ofsections/properties 465 may be added to the brand template 1120 atoperation 1142. In some aspects, the each site 630 added to the brandtemplate 1120 may inherit some settings/configurations of the brandtemplate 1120 and override others. In some aspects, one or more sections465 may be locked in a specific place or area 615 of the brand template1120, to restrict editing of that section 465, for example.

Next, each section 465 associated with the brand template 1120 may beassociated with a presentation template 625 at operation 1144. The oneor more presentation templates 625 may each be associated with one ormore components 440, which may be added and configured at operation1146. In some cases, the brand template 1120 may enable selection oflocking one or more components in a certain area 615 of a presentation450/presentation template 625. Next, one or more filter templates 1125and/or filters 420 may be added to one or more of the components 440 atoperation 1148. A site 630, upon receiving the brand template 1120 mayadapt and/or override some components 440/filters 420/filter templates1125 associated with the brand template 1120, for example, formattingthe template 1120 to fit certain characteristics or limitations of thesite 630 (e.g., area, space, aspect ratio, resolution, etc.).

Process 1100 b may be used to create a new brand or site 630, and may bedriven by operations of system 100 in response to inputs received from auser of system 100, for example via one or more computing devices viaapplication 145. Process 1100 b may begin with a new brand 630 begincreated from a brand template 1120 at operation 1150. In some aspects,the brand template 1120 may have been configured according to process1100 a described above. The brand 630 may be automatically configuredbased on the selected configuration of the brand template 1120, withminimal user input and/or effort. In some aspects, some settings may beadditional defined for the brand 630, such as associating a URL with thebrand 630. A theme structure 1135 may additionally be created forassociation with the brand 630 at operation 1154. In some aspects, thetheme 1135 may inherit settings from a theme template 1130 at operation1152, such as basic images, colors etc. as default settings of thetemplate 1130. It should be appreciated that any of a number of settingsof the theme 1135 (e.g., inherited from the theme template 1130) may beoverridden, for example, to create a custom brand or site 630 withlittle user input required.

Process 1100 b may continue at operation 1156, where ownership may bedesignated/controlled for the brand or site 630. Operation 1156 mayinclude associating or tagging one or more owners 1115 with the brand orsite 630, thus enabling control of what content and from what sources ispublished on the brand 630. Sections 465 and/or pages may be copied atoperation 1158 and associated with or placed in the brand or site 630.Each section may be configured by copying or selecting one or morepresentation templates 625 at operation 1160 and then customizing thepresentation 450 from the template 625 at operation 1162 for placementin the section 465. Additionally, in the process of configuring eachpresentation 450, one or more components 440 may be mapped to thepresentation 450 at operation 1164. In some cases, one or morecomponents 440 may be locked in a presentation, such that modificationof that particular component is not enabled (e.g., to ensure brandcontrol and/or consistency). Each component 440 may be associated orconfigured with one or more filters 420 at operation 1168, for exampleto control the type of content that is rendered by each component 440.Selection of one or more filters 420 for a component 440 may beperformed by selecting and/or adapting a filter template 1125 atoperation 1166.

In one example, content 1110 may be published to one or more propertiesor sections 465 via process 1100 c. The one or more sections 465 mayhave been created or configured via process 1100 b and in some casesalso via process 1100 a. Process 1100 ac may incorporate processesperformed by system 100, for example in response to inputs received by auser of system 100, for example via one or more computing devices viaapplication 145.

Process 1100 c may begin with a user 1105 requesting access/permissionto one or more sites 630, for example, for the purpose of publishingand/or editing content, at operation 1170. Once granted access to one ormore sites or brands 630 (e.g., upon entry of and subsequent validationof user credentials such as username and password), a user may selectand add various types, lengths, etc. of content 1110 at operation 1172.The content 1110 may be packaged for publication at operation 1174 intoone or more packages 405. Each package 405 may be associated with atleast one primary target 475 at operation 1176. Each target 475 may mapexplicitly to one or more sections 465 at operation 1178. Each target475 may imply one or more tags 415 from the section 465 settings atoperation 1180, and each package 405 may then be mapped or associatedwith those tags 415 at operation 1182. In some aspects, additional tags415 may be added to a package 405, for example by a user.

Each package 405 and the content 1105 associated therewith, may beassociated with one or more owners 1115 at operation 1184, for exampleto specify/restrict where the content 1110 can be published, suchaccording to syndication rules and permissions. In some aspects, ifcontent 1110 is restricted from being published at certain sites 630,the system 100 may provide one or more warnings and/or may prohibitpublishing of the content in or on the restricted site(s) 630. One ormore filters 420 may find packages 405 based on tags 415 associated withthe package 405 at operation 1186. The one or more filters 420 may beassociated with other components 440, other presentations 450, othersections 465, and/or other brands or sites 630, such that the filters420 may direct the package 405 to be published in other, non-targetedlocations. In some cases, these other locations for publishing may beassociated with the same brand 630 as the user 1105 or may share accessrights with the user 1105 or brand 630.

Subsequently, one or more references 430 may be generated for a package405 at operation 1188. Each generated reference may be associated withthe package 405. The one or more references 430 may then be tied orlinked to specific components 440 at operation 1190. In some aspects,each reference 430 may be custom tailored for each section 465, forexample via inputs received from a producer.

-   -   7a. Visual Property Structure Control

Property setup/configuration and structure control is the first part ofan integrated process that enables content consolidation, syndication,and integration. Creation of properties 630, or sections 465 from knownproperty templates or presentation templates 625, customization of thestructure and presentation structures (see Visual PresentationManagement section below) creates a hub of known topical areas forcoverage that eventually connect to the de-coupled tagging andcontextual analysis infrastructure (via targeting) allowing implicitcontrol of content and publishing and enabling content optimization.Property creation may be implemented by the property management system210 in coordination with various structures of data model 300. Propertycreation may begin with basic information set up, and may also includeconfiguration of a full property map based on the template sections,presentation set up, and filter and configurations from the template.Property configuration may be completed by enabling the user tocustomize the entire information structure (barring locks at theproperty template level).

During the creation of a new property 630, 465, the system 210 may takein a property or brand name, a basic logo representation and otherconfigurable (at the template level) information. Important to the setupis the production URL (and the derived staging URL) where the web-basedversion (if applicable) will render. Once a user provides basicinformation to the system 210 about the template (e.g., presentationtemplate 625) and general settings for the digital brand (e.g., 630),the information or site tree structure is created automatically,applying all default presentation templates and locking certain aspectsof the continued set up.

FIG. 12 shows a flow block diagram of another example process 1200 forcreating a brand-level property, such as a brand property 630. Process1200 may incorporate or touch on one or more aspects of processes 400,500, 700, 800, 900 and/or 1000 and/or system 600 described above and maybe implemented by aspects of system 100, such as by the propertymanagement system 210, or other components of the logical system 200, incoordination with data model 300.

FIG. 13A shows an example interface 1300 a for editing a property, whileFIG. 13B shows an example interface 1300 b for managing a property.

-   -   7b. Visual Theme Configuration

In some aspects, the brand and property management system 210 mayprovide a visual theme editor that enables a brand administrator orother user to visually control the style guide for a brand andimmediately preview the theme in action. An example theme editinginterface 1400 is illustrated in FIG. 14. Changes to or configuration ofthe brand-level theme settings, such as to a theme 1135 or a themetemplate 1135, may include configuration of logo imagery, colorselection, and font-styles. These settings may be received, for examplefrom a user, and the system 210 may display the changes on the property465/brand 630 as they are entered (e.g., visually alongside examples inthe visual style guide for the brand 630, generating a visual preview ofeach property 465 as the brand 630 is tailored). Theme changes areconnected to property wide preview functionality that may be identicalor near-identical to the property or presentation rendering system 215,and/or presentation publishing system 220. New theme settings may beadded at the theme 1135 or theme template 1130 level and may then becomeaddressable in the layout (e.g., 610) and component SDK and visuallyeditable in the theme builder interface 1400. This integration betweenthe component SDK, the theme manager interface 1400, the presentationmanagement service or builder 210, the presentation rendering service215, and the presentation publishing system 220 system (all of whichshare the presentation rendering system as a common mediator) provide anefficient and intuitive platform for building presentations of contentand customizing for various properties or websites.

During property creation, the theme 1135 may be bootstrapped from thetemplate 1130 as described above and can be changed visually with smallstyle-guide based previews. These borrow from actual SDK-based renderingcomponents (e.g., 440, 635) that leverage the target theme elements andhave been flagged during development as representative of certain keyelements of the theme 1135. Developers can define new areas of a theme1135 for configurability by declaring them in the SDK or through the oneor more user interfaces, such as interfaces 1300 a, 1300 b, and/or 1400,which may be provided by the MIX service 135 implementing the abovedescribed sub-systems of logical system 200. The continued round-triprelationship between the development, publishing, rendering, previewing,and visual management aspects of the system 100 enable the system 100 tosupport a more seamless brand management and publishing experience.

8. MIX PLATFORM APPLICATION INTERFACE

FIG. 17 shows a block diagram of an example interface 1700 for editingand publishing content. Interface 1700 may provide general flexibilityand extensibility as configured property types, media types, and feedsgrow. The captured map or interface 1700, which is an exampleimplementation, illustrates a method for enabling publishing andproperty management in an integrated process as described. It should beappreciated that interface 1700 may be provided by, for example, by theMIX service 135 of FIG. 1, and/or may be more specifically provided bythe one or more sub-systems of system 200, such as the presentationmanagement system 210, the presentation publishing system 220, and/orother aspects of system 200. Many of the features described above may beprovided by, through, or in association with interface 1700. Differentcomponents or aspects of interface 1700, which may include navigationscreens, editing screens, plug-in or tab components, dialog windows, andpanel or side-panel visualizations, will be described below in thehierarchical order.

The following blocks or components may be expressed in interface 1700 asmajor navigation screens, for example, and may all be accessible from ahome screen, page, or interface 1704: the stories screen 1706, theweather screen 1708, the media screen 1710, the properties screen 1712,the live streams screen 1714, and the reports screen 1716. The welcomeblock 1702 may enable both login and registration capabilities for newusers, for example. Upon entry and validation of credentials, a user maybe directed to the home screen 1704. The home screen 1704 may housescommon actions and custom common actions for individuals and groups, forexample, saved or associated with a specific user account. The storiesscreen 1706 may house all packaged content of various types and providessearches, filters, and sorts. The weather screen 1708 may include acustom package management provider tied to a properties and data feeds.The media screen 1710 may houses all images and video and providessearches, filters, sorts, etc. The properties screen 1712 may lists allexisting brand properties and allows creation, searching, and editing ofthe properties. The live streams screen 1714 may list bundles of liverunning video by brand including one-off live feeds. The reports screen1716 may provide access to analytics across properties and content.

The home screen 1704 may provide access to a user admin editing screen1718, which may integrate with Lightweight Directory Access Protocol(LDAP) and enable user creation and role management, for example,including access to various portions of system 100. Also accessible fromthe home screen 1704 is a create user dialogue window 1722 that enablesa new user to be defined and roles to be assigned (e.g., providingsimilar functionality as same as assign roles panel 1720). A moderationediting screen 1724, also accessible from the home screen 1704, mayenables workflow of many sorts across the system including UGC,comments, and publishing to be viewed, edited, etc.

The stories screen 1706 may provide access to a story editor screen1726, which may be the default visual package editor that integratesmedia attachments. From the story editor 1726, an ownership panel 1734may be accessible, which enables editors to view and specify packagesources (e.g., with some set automatically). Also accessible from theeditor 1726, a geolocation panel 1736 may specify the area of impact fora content package for use in geo-fencing. The story editor 1726 maysimilarly provide a tags panel 1738 that may show automatically derivedand manually managed contextual tags for package indexing. The storyeditor 1726 may also provide a schedule panel 1742 that enables allow apackage to be published and expired within a time limit. A media browserscreen 1732, also accessible from the stories screen 1706, may enableadvanced searching and attachment of media to any package from an assetrepository. An alert editor screen 1748, also accessible from thestories screen 1706, may provide for creation of property-wide alerts,which may be stand-alone or as part of the package publication process.The bio editor screen 1750 may use custom package panels to support acustom biography package type (repeatable). The bio editor screen mayalso provide a bio info editor plug-in that enables custom biographicalinformation to attach to a biography package (extensible).

In some aspects, a syndication panel 1740, also accessible from thestories screen 1706, may enable advanced searching and selection ofsections across properties for publishing activities. A similarlyaccessed ownership panel 1734 may provide a reviewer the ability toenforces rights management before publication and enables overrides, forexample, to control the routing of content to various properties. Aversion manager panel 1744 may show package content versions over timeand enable reversions to previous states.

The weather screen or page 1708 may provide access to a variety ofediting tools for weather based presentations. For example, a weathereditor screen 1754 may provide a custom package editor tailored tosupport forecast data and galleries. A forecast editor plug-in 1756 mayprovide a visual daily forecast editor for managing ingested weatherfeed data manually.

A preview screen 1758, which may be accessible from the story editor1726 and/or the bio editor 1750, may display multiple packages andsection displays in-line with publishing processes or propertymanagement. A story preview panel 1760 may display a package as it willrender and enable switching between multiple properties as applicable. Asection preview panel 1762 may display promotion of a package as it willappear across multiple properties as applicable. A teaser manager panel1764 may enable adding a reference or tailoring references in-line witha visual preview of the associated presentation. A staging site screen1770, which may be accessible from the preview screen or component 1758,or from the property map screen or component 1789, may enable traversalof properties in the process of being created but not published. Aneditor bar 1768, which may also be accessible or viewable from thepreview screen 1758, may enable producers to initiate editing actionsfrom the live or staging property when logged in.

The media screen 1710 may provide screens or interfaces for editingimages 1772, video 1774, and for video clipping 1776. The image editor1772 may enable alteration of images and renditions of images forvarious channels during publishing. The video editor 1774 may enableviewing, editing meta-data, and poster frame selection duringpublishing. The video clipping editor 1776 may enable integrated videoclip creation and alteration during publishing.

The properties screen 1712 may link to various other screens andinterfaces for managing and configuring presentation of content of oneor more properties at one time. For example, a property settings screen1778 may be accessible from the properties interface 1712, and mayprovide for creation and editing of property settings based on brandtemplate. These features may be further provided for by: a basicsettings panel 1779 that manages URLs, brand name, icon, andconfigurable, requires settings by brand type at the high level; a themesettings panel 1780 that shows a visual preview of colors, logos, andother brand-level style guides for editing; an integrations panel 1781that enables configurable integration points with external services likemetrics and mobile applications; a source settings panel 1782 thatprovides white-listing and black-listing of content sources anddefinition of new sources as needed; and/or a social settings panel 1783that connects the property with external social media channels as needed(configurable by brand template).

The property settings screen 1778 may also link to the property mapscreen 1789, which may provide for visually display and management ofproperty structures and creation of presentations. These features may befurther provided for by: a section page panel 1791 that enablesconfiguration of a unique, usually discover-based destination or topicarea for the brand; a content page panel 1792 that enables configurationof a type of package display presentation for the brand; a topic pagepanel 1793 that enables configuration of a presentation that dynamicallydiscovers content based on passed in tag or tag; a alias page panel 1794that enables configuration of a destination that points to anotherlocation inside or outside the brand; a SEQ settings panel 1795 thatenables alteration of the SEQ settings for a given section for web-basedpresentations; a template selection panel 1796 that can be configured toapply a pre-defined (but sometimes partial) presentation to a propertynode; a link package panel 1797 that enables configuration specificpackage content to link to sections for display at run-time as needed;and a navigation (NAV) group manager panel 1790 that enables admins toorganize property sections into specific sets for navigating properties.

The property map screen 1789 may also link to a page or presentationbuilder screen 1784, which provides visual editing of presentations andtemplates with metrics and content. The page builder screen 1784 maylink to the following panels: a component selection panel 1785 thatshows all published SDK components for the property channel; a componentsettings panel 1786 that enables admins to alter visual componentseasily (reacts to component code dynamically); and a filter managerpanel 1787 that enables admins to alter content displayed in specificcomponents in-line with visual preview.

The live stream screen 1714 may provide control and selection interfacesto better enable a user to manage live streaming content in the MIXplatform 100. Form the live screen 1714, a live stream control panel1788 may be accessible that enables selection, monitoring, and on/offswitching of live streams by brand. A confidence stream control panel1798 may provide viewing of constant live feed separate from approvedcontent in 1788.

The reports screen 1716 may provide for viewing of metrics and analyticsassociated with performance of properties relating to viewership, CPM,CTR, etc., gathered by system 100, for example on a package, component,and other granularities. The report interface 1716 may provide access tometrics concerning secondary content or advertising, such as revenuegenerated by properties, etc. In one aspect, a sell through reportscreen 1799 accessible from the reports interface 1716, may provide acustom report showing advertising sell through rate reporting byproperty or property group.

It should be appreciated that interface 1700 is only given by way ofexample. Other configurations and implementations of a visual interfacefor managing and publishing content and digital media are contemplatedherein.

9. MIX PLATFORM EXAMPLE OPERATION

FIG. 18 shows a flow block diagram of an example end to end operation1800 of the digital media integration exchange system 100 of FIG. 1.

Certain embodiments of the content management or digital mediaintegration exchange system 100 and methods are described above withreference to methods, apparatus (systems), and computer program productsthat can be implemented by computer program instructions. These computerprogram instructions can be provided to a processor of a general purposecomputer, special purpose computer, mobile computing device, server,virtual server, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the acts specified herein totransform data from a first state to a second state.

These computer program instructions can be stored in a computer-readablememory that can direct a computer or other programmable data processingapparatus to operate in a particular manner, such that the instructionsstored in the computer-readable memory produce an article of manufactureincluding instruction means which implement the acts specified herein.The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide steps for implementing the acts specified herein,

The various illustrative logical blocks, modules, and algorithm stepsdescribed in connection with the embodiments disclosed herein can beimplemented as electronic hardware, computer software, or combinationsof both. To clearly illustrate this interchangeability of hardware andsoftware, various illustrative components, blocks, modules, and stepshave been described generally in terms of their functionality. Whethersuch functionality is implemented as hardware or software depends uponthe particular application and design constraints imposed on the overallsystem. The described functionality can be implemented in varying waysfor each particular application, but such implementation decisionsshould not be interpreted as causing a departure from the scope of thedisclosure.

The various illustrative logical blocks and modules described inconnection with the embodiments disclosed herein can be implemented orperformed with a general purpose processor, a digital signal processor(DSP), an application specific integrated circuit (ASIC), a fieldprogrammable gate array (FPGA) or other programmable logic device,discrete gate or transistor logic, discrete hardware components, or anycombination thereof designed to perform the functions described herein.A general-purpose processor can be a microprocessor, but in thealternative, the processor can be any conventional processor,controller, microcontroller, or state machine. A processor can also beimplemented as a combination of computing devices such as, for example,a combination of a DSP and a microprocessor, a plurality ofmicroprocessors, one or more microprocessors in conjunction with a DSPcore, or any other such configuration.

The blocks of the methods and algorithms described in connection withthe disclosure can be embodied directly in hardware, in a softwaremodule executed by a processor, or in a combination of the two. Asoftware module can reside in RAM memory, flash memory, ROM memory,EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, aCD-ROM, or any other form of computer-readable storage medium known inthe art. An exemplary storage medium is coupled to a processor such thatthe processor can read information from, and write information to, thestorage medium. In the alternative, the storage medium can be integralto the processor. The processor and the storage medium can reside in anASIC. The ASIC can reside in a computer terminal. In the alternative,the processor and the storage medium can reside as discrete componentsin a computer terminal.

Depending on the embodiment, certain acts, events, or functions of anyof the system and methods or processes described herein can be performedin a different sequence, can be added, merged, or left out altogether(e.g., not all described acts or events are necessary for the practiceof the method). Moreover, in certain embodiments, acts or events can beperformed concurrently such as, for example, through multi-threadedprocessing, interrupt processing, or multiple processors or processorcores, rather than sequentially. Moreover, in certain embodiments, actsor events can be performed on alternate tiers within the architecture.As descried herein, a deal may also be referred to as a deal proposal,with both terms indicating a deal being submitted by, for example a dealcreator or vendor, in a deal promotion platform or system. Furthermore,as described herein, a package or a deal package may both describe abundle of two or more deals.

With reference now to FIG. 19, a computer network or similar digitalprocessing environment 1900 in which the MIX platform 100 and associatedprocesses disclosed can be implemented. The MIX platform 100 and variousprocesses described herein can also run on different architectures thatinclude a LAN, WAN, stand-alone PC, stand-alone mobile device, astand-alone, clustered, or networked mini or mainframe computers, etc.

FIG. 19 is representative of many specific computing arrangements thatcan support the system and method disclosed. In one embodiment, thesoftware implementing the deal promotion system runs in the Linux®environment on an i686 architecture. In another embodiment, the softwareis implemented to run in other environments, such as Windows®, UNIX®,and to run on any hardware having enough power to support timelyoperation of software such as that identified in FIG. 19. In someimplementations of the MIX platform, a Linux® distribution, such as, forexample, Ubunutu®, is deployed on one or more server computers 104. Inan alternate embodiment, one or more computers are deployed as virtualinstances rather than physical computers.

A load balancing router 1906 can distribute traffic inside a firewall1908 to and from distributed web servers 1910-a, 1910-b. In somedeployments, these webservers 1910-a, 1910-b are distributed instancesof an Apache web server. The distributed web servers 1910-a, 1910-b arecommunicatively coupled to computers/servers 1915-a, 1915-b hosting oneor more persistent data stores. The data stores 1915-a, 1915-b can bedistributed relational databases such as, for example, MySQL® storingprimary and derivative data generated by the MIX platform 100/MIXservice 135. The distributed database servers 1915-a and 1915-b may alsocommunicate with each other via one or more database communicationprotocols. In addition, or alternatively, the distributed databaseservers 115 may host XML databases, object oriented databases, NoSQLdatabase, and the like.

Client devices 160 can connect to a remote server infrastructure 1904via a network 1920 over one or more communication protocols. Allcomputers can pass information as unstructured data, structured files,structured data streams such as, for example, XML, structured dataobjects such as, for example, JSON objects, and/or structured messages.Client devices 160 may communicate over various protocols such as, forexample, UDP, TCP/IP and/or HTTP. In some cases, Client devices 160 maycommunicate via a wireless connection with the network 1920.

In some embodiments, the wireless connection between one or more clientdevices 160 and the network 1920 (e.g., communication links 155, 165,and/or the medium upon which the GPI or state signals 170 and/ormedia/content is delivered from the master control 105 to virtualresources 115 and server 140) may implement or be part of a system thatimplements CDMA, TDMA, FDMA, OFDMA, SC-FDMA, and/or other wirelesscommunication technologies. A CDMA system may implement a radiotechnology such as CDMA2000, Universal Terrestrial Radio Access (UTRA),etc. CDMA2000 covers IS-2000, IS-95, and IS-856 standards. IS-2000Releases 0 and A are commonly referred to as CDMA2000 1X, 1X, etc.IS-856 (TIA-856) is commonly referred to as CDMA2000 1xEV-DO, High RatePacket Data (HRPD), etc. UTRA includes Wideband CDMA (WCDMA) and othervariants of CDMA. A TDMA system may implement a radio technology such asGlobal System for Mobile Communications (GSM). An OFDMA system mayimplement a radio technology such as Ultra Mobile Broadband (UMB),Evolved UTRA (E-UTRA), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE802.20, Flash-OFDM-UTRA are part of Universal Mobile TelecommunicationSystem (UMTS). 3GPP Long Term Evolution (LTE) and LTE-Advanced (LTE-A)are new releases of UMTS that use E-UTRA. UTRA, E-UTRA, UMTS, LTE,LTE-A, and GSM are described in documents from an organization named“3rd Generation Partnership Project” (3GPP), CDMA2000 and UMB aredescribed in documents from an organization named “3rd GenerationPartnership Project 2” (3GPP2).

Client devices 160 and server computers 1904 provide processing,storage, and input/output devices executing application programs. Clientcomputers 1902 can also be linked through communications network 1920 toother computing devices, including other client devices 160 and servercomputers 1904. In some embodiments, server computers 1915-a, 1915-bhost and execute software implementing centralized persistent datastorage and retrieval. The network 1920 can be a local area networkand/or a wide area network that is part of a remote access network, aglobal network (e.g., the Internet), a worldwide collection ofcomputers, and/or gateways that currently use respective protocols(TCP/IP, UDP, etc.) to communicate with one another. Multiple clientdevices 160 may each execute and operate instances of the applicationsaccessing the deal promotion platform or system.

As described above, those of skill in the art will recognize that manyof the components discussed as separate units may be combined into oneunit and an individual unit may be split into several different units.Further, the various functions could be contained in one computer ordistributed over several networked computers and/or devices. Theidentified components may be upgraded and replaced as associatedtechnology improves and advances are made in computing technology.

FIG. 20 illustrates a single computing instance or node 2000, which maybe or include aspects of one or more client devices 160, servers 140,encoder 110, or may support virtual resources 115. Each component of thenode 2000 is connected to a system bus 2005, providing a set of hardwarelines used for data transfer among the components of a computer orprocessing system. Also connected to the bus 2005 are additionalcomponents 2010 such as additional memory storage, digital processors,network adapters, and I/O devices. The bus 2005 is essentially a sharedconduit connecting different elements of a computer system (e.g.,processor, disk storage, memory, input/output ports, network ports,etc.) and enabling transfer of information between the elements. An I/Odevice interface 2015 is attached to system bus 2005 in order to connectvarious input and output devices (e.g., keyboard, mouse, touch-screens,displays, printers, speakers, etc.), for example to receive inputs intosystem 100. A network interface 2025 allows the computer to connect tovarious other devices attached to a network (e.g., system 100 of FIG.1). A memory 2030 provides volatile storage for computer softwareinstructions 2035 and data 2040 used to implement methods employed bythe system disclosed herein. Disk or persistent storage 2045 providesnon-volatile storage for computer software instructions 2050 and data2055 used to implement an embodiment of the present disclosure. Acentral processor unit 2020 is also attached to system bus 2005 andprovides for the execution of computer instructions.

One aspect of the invention includes a process for addressing digitalrights management. Digital rights management is the controlling ofdigital content and its use, and may include using multiple parties andsystems.

FIG. 21 illustrates a process for addressing digital rights management.Digital rights management is the controlling of digital content and itsuse, and may include using multiple parties and systems. At step 2102,an administrator may create or edit a property 460. Upon creating orediting the property 460, at step 2104 the administrator may enterallowed content sources. At step 2106 the administrator may also selectblocked sources. After having entered allowed and blocked sources, atstep 2108 the administrator may save the settings of the property tomaintain a record of the allowed and blocked sources.

After the administrator has entered the allowed sources at step 2104and/or has selected blocked sources at step 2106, the system 100 may atstep 2110 match the entered and selected sources of the administrator toknown sources. A database of known sources may be stored locally withinthe system 100 and/or on a remote server or system. If the system 100determines at step 2112 that any of the allowed or blocked sources matchany previously known source, then the administrator may return to step2106 to continue to select blocked sources. If the system 100 determinesat step 2112 that the allowed or blocked source does not exist as analready-known source, the system 100 may add at step 2114 the new sourceto the database of available sources if the new source is allowed. Thisway the system 100 may maintain a database of available sources.

10. CONTENT ATOMIZATION

In some aspects, content, such as content data 325, content 312, 490,and/or packages 314, 405, may be subdivided, separated into, logicallyorganized, stored and/or published or rendered as smaller chunks ofinformation, media, etc., herein referred to as atoms. FIG. 21illustrates an example data structure that defines an atom 2110, whichmay be part of an atom package 2105 contain one or more atoms 2110. Eachatom 2110 may be created, for example, via processes to automaticallybreak a standard digital article (including its media) down intosuccinct, optimized chunks of information (words and meta-data) based ontext length, media asset associations, and/or basic semantic analysis.Each atom 2110 may be designed to convey a single thought or concept inthe flow of a longer narrative and, in conjunction with one or morespecific types of media decoration as they pertain to the concept. Eachatom 2110 may be stored as a document (containing references to modules,images, and video) in an existing story attribute.

Each atom 2110 may be associated with a specific, registered type 2412that associates the atom 2110 with textual limitations, and/or specificproduction or atom modules 2115 for embedding media, such as text 2120,images 2125, galleries 2130, video 2135, and/or social media, such asplatforms 2145, 2150, 2155 (e.g., Facebook, Twitter, Instagram, etc.),quizzes 2160, polls 2165, and/or video platform(s) (e.g., YouTube),and/or other social media and media references. Each atom 2110 may beconnected to one or more specific modular tools for the production ofthe assets and configured rendering components (e.g., one or more ofcomponents 440) for each atom type on each target device designed tocreate an optimized experience per device.

Each atom 2110 may be associated with an atom type 2412, which maydefine the arrangement, configuration, etc., of different forms ofcontent, such as images, text, etc. An atom module 2115 may be definedindependent of content, such that various different content may berendered and delivered to a device using the same atom modules 2115.Atom modules 2115 may be configured for various output devices orchannels, for example, by calling specific client-side renderingmodules, specific to different types of devices, such as iOS, Android,and other mobile operating systems, PC web browsers, OTT devices, largevisual devices, and so on. In some aspects, atom modules 2115 may bepredominantly the same or similar for multiple different devices, butwith different rendering calls that are device specific.

In some aspects, the atomized breakdown of content represented by anatom 2110 is represented as a loosely structured document, allowing theentire structure of atomization, embedding support, and other aspects ofthe structure to flex over time to support change. This document may berepresented as JSON (JavaScript Object Notation) but could easily moveto any loosely structured document representation such as XML. Thestructure may be stored in a relational database, or may workeffectively in a NOSQL implementation or in a hybrid RDBMS and NOSQLimplementation as well.

FIGS. 22 and 23 illustrate examples of how atoms 2110 and atom packages2105 are aggregated with reference to various tables defined in contentdata 325 of FIG. 3B, via data structures 2200 and 2300. An atom package2105 may be a collection of atoms 2110 with a single narrative purpose,title, primary and other topical tag(s) 336, 2200, social media hashtag, and collected meta-data. In turn, each atom 2110 may be associatedwith its own meta-data, topical tags, related links, associated media,and date and title information. This may allow the producer to tell atimeline-based story using atoms 2110 and atom packages 2105, providespecific hints as to the content housed in each atom, and to structurethe storytelling in a way that allows users to re-enter the contentlater through a table of contents or index.

The described data structures and systems enable explicit relationaltagging of one package 2105 or atom 2110 to another as part of the atomauthoring experience. Atoms 2110 or packages 2105 may be referenced fromwithin an atom 2110 explicitly, allowing producers to create a mosaic ofstorytelling that is cross-referenced, externally referencing, andre-entrant. Because these relationships are linked on a per-atom basisand by unique identifier, the system is capable of producing extensivecontent graphs that align to portions of one package related to anotherand to correlate content popularity, topical strength, and other keymetrics algorithmically across packages without complex semanticanalysis or link analysis. It also allows content relationships to berepresented across devices at a very granular level whether the deviceor application supports HTML5 HREF links or not. The structure alsoallows related link rendering to be independent of content structure andfor certain portions of text to reference content links in a hyper-linklike way separate from the rendering structure, again without explicitHTML parsing. The rendering structure allows for these related links tobe derived automatically without explicit intervention by the producerand to be shown to end users without any clear differentiation betweenautomatically derived and explicitly linked relationships and withoutany change to the rendering modules on each client platform (e.g., aportion or all of this may be done server-side without impact to theclient applications as desired to optimize the user experience).

In some aspects, an atom or atomization engine 290, depicted in FIG. 2,may automatically break larger portions of content into atoms 2110. Theatomization engine 290 may be part of or implemented in the media assetmanager 230, and/or the video encoding system 225. Producers using theatomization engine 290/media asset manager 230 may paste standardwritten copy into the tool and attach media and allow the atomizationengine to break down the content into basic, logical text-based unitsautomatically. The producer may then select (e.g., the atomizationengine 290/media asset manager 230 may receive a selection of) aspecific mixed-media atom type and associate media with each block oftext. The atomization engine 290/media asset manager 230 and/or othersub-systems of system 200 may enable, via inputs received from aproducer, manual manipulation of the atom breaks. The system 200 maythen generate a preview of the changes, without leaving the tool toensure a smooth narrative experience.

The atomization engine 290/media asset manager 230 enables new atomtypes 2412 to be defined through configuration, associating one or moreclient-side rendering modules per atom type and per target device. Eachnative application or web experience has pre-built, named modules thatmay be referenced in the atom type configuration. The rendering engineand/or service APIs that provide content to the various platforms willreturn content, media assets, and meta-data to the client applicationalong with the mixed modules and order to drive the user experience.This allows the client-side application to operate in a native mannerwithout knowledge of the configured atom types on the server side and toprovide a multiplicative number of potential user experiences with alimited number of visual code components, each designed to deliver aspecific experience on device for a specific type of embedded mediaand/or text. The production tools are similarly extensible to allowadditional media types to be added to the atom configuration withoutaltering the core production workflow.

FIG. 24 shows an example system 2400 for publishing atomized content.System 2400 may interface with one or more sub-systems of system 200,such as the media asset manager 230, atomization engine 290, and/or mayproduce content using data models or structures 300, 2100, 2200, and/or2300. An atom package 2105 may include any number of screen/cards 2402,each including one or more atoms 2110, which are defined by an atom type2412, which references various content rendering modules, occupying partor preferably al or substantially all of a screen of the target device.For example, a first screen 2405-a may include a video rendering module2404, a text rendering module 2406, a related link rendering module2408, and a standard footer rendering module 2410. The area of eachrendering module may be configurable, such that each takes up adifferent area, of any of a variety of shapes, is located in differentlocations on the target device screen, and/or has other differentattributes (e.g., changing after a certain time or viewership data isreceived, etc.).

Atoms 2110 may be designed to optimize the entire screen 2402 of thetarget device, and rendering modules 2404-2410 may similarly be designedto occupy a specific percentage of that screen 2402, allowing for afull-screen render at all or near all times. Atom types 2412 andmedia/content types 2420 may be configured to align with renderingmodules 2404-2410 to take advantage of the rendering module 2404-2410and to be blended into multiple experiences without degradation to thefull-screen affect. This optimization of atoms 2110 to occupy a singleand full screen 2402 per device is critical to the performance and userexperience delivery and the authoring and preview experience. Modules2115, in some cases, may have a web-based representation, allowing forHTML5-based preview of the content within the web-based production tool.

Each rendering module 2404-2410 may be linked to a specific module 2115(e.g., modules 2115-a, 2115-b, 2115-c), which may in turn link and/oraccess content, embeds, met-data 2412. Atom 2210 may be defined by anatom type 2412, which may reference any of a number of modules 2115.

Each atom package 2105 may be defined by a package document 2414. Apackage document 2414, which may be a JSON, XTML, or non-structureddata, may include any number of atoms 2110, which may specify orreference a certain atom type 2412. In some cases, atoms 2110 may alsoinclude or reference one or more embeds 2416. Package 2105 may includeany of a number of atoms 2110, and may also link to media 2418, such asexternal media. In some aspects, media 2418 may also reference orindicate one or more certain content or media type 2420, which mayenable link to one or more embed types 2424, which may be part of anatom type configuration parameter 2422. Atom type 2412 may reference orinclude atom type configuration parameters 2422. Atom type configurationparameters 2422 may include one or more embed types 2424, which areassociated with an embed type production handler 2426, which together,enable rendering of different embed/atom types. Atom type configurationparameters 2422 may also include a device type 2428, which is associatedwith one or more rendering module references 2430. Each atom type 2414may also link to or reference one or more HTML5 components 2432, whichmay include one or more aspects of components 440 described above.

Each rendering module reference 2430 may call or invoke a one or moredevice rendering modules 2434, for example on a given target device atrun time 2436. The device rendering module(s) 2334 may communicate witha device rendering interpreter 2438, associated with the device, whichmay in turn render the content in one or more screens 2402.

FIG. 25 illustrates an example process 2500 for production of an atompackage, 2105. In some aspects, process 2500 may be implemented bysystem 100 and/or system 2400 according to logical system 200 and/ordata models 300, 2100, 2200, 2300. In some aspects, process 2500 may beimplemented by the digital publishing system 205, media asset manager230, and/or other systems described in reference to FIG. 2.

FIG. 26 illustrates an example process 2600 for production of an atompackage 2105 within a storyline. In some aspects, process 2600 may beimplemented by system 100 and/or system 2400 according to logical system200 and/or data models 300, 2100, 2200, 2300. In some aspects, process2600 may be implemented by the digital publishing system 205, mediaasset manager 230, and/or other systems described in reference to FIG.2.

FIG. 27 illustrates an example process 2700 for rendering an atompackage 2105. In some aspects, process 2700 may be implemented by system100 and/or system 2400 according to logical system 200 and/or datamodels 300, 2100, 2200, 2300. In some aspects, process 2700 may beimplemented by the digital publishing system 205, media asset manager230, and/or other systems described in reference to FIG. 2.

FIG. 28 illustrates an example process 2800 for rendering an atompackage 2105 within a storyline. In some aspects, process 2800 may beimplemented by system 100 and/or system 2400 according to logical system200 and/or data models 300, 2100, 2200, 2300. In some aspects, process2800 may be implemented by the digital publishing system 205, mediaasset manager 230, and/or other systems described in reference to FIG.2.

In some aspects, when stories update, users who have followed thegranular primary story topic may receive notifications that changes haveoccurred and may re-enter the storytelling on any device at the specificatom that constitutes the update. An example system 2900 for providingcontent update alerts is illustrated in FIG. 29. An example process 3000for sending/publishing content update alerts is illustrated in FIG. 30.Because these follow topics are separate from the package itself and maybe re-used, following an individual story may immediately becomefollowing an ongoing storyline, allowing producers to continue a storyin a new package or in the current package interchangeably as the storyevolves. In either case, users who have followed the topic will receiveupdates and be encouraged to re-engage or re-enter the narrative.

FIG. 31 illustrates an example process 3100 for customizing theme,navigation, and/or configuration for various contentapplications/presentations. In some aspects, process 3100 may beimplemented by system 100 and/or system 2400 according to logical system200 and/or data models 300, 2100, 2200, 2300. In some aspects, process3100 may be implemented by the digital publishing system 205, mediaasset manager 230, and/or other systems described in reference to FIG.2.

FIG. 32 illustrates an example system 3200 system for integrating videointo atomized content. In some aspects, process 3200 may be implementedby system 100 and/or system 2400 according to logical system 200 and/ordata models 300, 2100, 2200, 2300. In some aspects, process 3200 may beimplemented by the digital publishing system 205, media asset manager230, atomization engine 290. and/or other systems described in referenceto FIG. 2.

Because media and words are associated in a narrative flow under eachpackage 2105, the rendering engine 290 enables an entire package 2105(or a portion of the package) to be automatically rendered to a videowith word overlays and embedded media to tell the story visually. Asystem 3300 for transforming media, text, etc., into a videopresentation is illustrated in FIG. 33. The video rendering system 3300allows text-based stories to be consumed via a primarily video-basedexperience easily or as a read article without alteration of the contentstructure. A process 3400 for transforming media into a videopresentation is illustrated in FIG. 34.

PAX API documentation illustrates example API calls that enable one ormore of the actions/processes described above.

Storyline Atom Publishing screens illustrate 44 example screen shotstaken from an example storyline atom publishing user interface.

Atom Publishing 1.1 screens illustrate 5 example screen shots taken froman example atom publishing user interface.

Master Prototype—Circa screens illustrate 87 example screen shots from auser interface for accessing atomized content.

CircaDesktop Experience screens illustrate 14 example screens from adesktop user interface for accessing atomized content.

Circa Mobile Web screens illustrate 14 example screens from a mobile webuser interface for accessing atomized content.

Circa Tablet Experience screens illustrate 14 example screens from atablet user interface for accessing atomized content.

One or more of the user interfaces mentioned above, which may begraphical user interfaces, may provide one or more of the followingadvantages through an integrated UI for accessing, configuring, andviewing atomized content:

-   -   1. Modular, extensible capability to add media embedding tools        into the atomized content production workflow without altering        the foundational UI.    -   2. Standardized search, configure, embed workflow for media        embedding of any kind.    -   3. Automatic re-stacking of text-based content in each “Atom”        based on Atom/Embed type selection and user text input,        including creation of new atoms.    -   4. Drag and drop re-ordering of atoms to alter story ordering.    -   5. Inline editing of per-atom titling and meta-data without        losing the atom text content alongside.    -   6. Integrated multi-device preview of content from within the        web interface (mobile, web, streaming devices).

While the disclosure has been described in terms of exemplary aspects,those skilled in the art will recognize that the disclosure can bepracticed with modifications in the spirit and scope of the appendedclaims. These examples given above are merely illustrative and are notmeant to be an exhaustive list of all possible designs, aspects,applications or modifications of the disclosure.

What is claimed is:
 1. A method of organizing and publishing content ina content management system, the method comprising: receiving content,wherein the content comprises at least one of text, images, or video;segmenting the received content into one or more content atoms;associating one or more tags with the one or more content atoms; andconfiguring a presentation of the one or more content atoms, wherein thepresentation is device specific.
 2. The method of claim 1, furthercomprising: automatically generating at least one alert when at leastone of the content atoms has been updated; and distributing the at leastone alert to one or more devices based on the associated one or moretags.